New NEC port - work in progress.

This commit is contained in:
Richard Barry 2009-01-22 10:59:24 +00:00
parent c1cb5dac54
commit 395aec25ff
12 changed files with 3915 additions and 0 deletions

View File

@ -0,0 +1,112 @@
/*
FreeRTOS.org V5.1.1 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
***************************************************************************
***************************************************************************
* *
* SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
* and even write all or part of your application on your behalf. *
* See http://www.OpenRTOS.com for details of the services we provide to *
* expedite your project. *
* *
***************************************************************************
***************************************************************************
Please ensure to read the configuration and relevant port sections of the
online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
/* only include in C files */
#ifdef __IAR_SYSTEMS_ICC__
#pragma language=extended
#pragma system_include
#include <intrinsics.h>
#include "io70f3385.h"
#endif /* __IAR_SYSTEMS_ICC__ */
/* V850ES/Fx3 Memory Model
* 1 = Tiny data model
* 0 = Small/Large data model
*/
#define configDATA_MODE 0
/*
* Application specific definitions.
*
* These definitions should be adjusted for your particular hardware and
* application requirements.
*
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
*/
#define configUSE_PREEMPTION 1
/* only include in C files */
#ifdef __IAR_SYSTEMS_ICC__
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 48000000 ) /* using the external clock source */
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 64 )
#define configTOTAL_HEAP_SIZE ( (size_t ) ( 9000 ) )
#define configMAX_TASK_NAME_LEN ( 10 )
#define configUSE_TRACE_FACILITY 0
#define configUSE_16_BIT_TICKS 0
#define configIDLE_SHOULD_YIELD 1
/* Co-routine definitions. */
#define configUSE_CO_ROUTINES 0
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
#define INCLUDE_vTaskPrioritySet 0
#define INCLUDE_uxTaskPriorityGet 0
#define INCLUDE_vTaskDelete 1
#define INCLUDE_vTaskCleanUpResources 0
#define INCLUDE_vTaskSuspend 0
#define INCLUDE_vTaskDelayUntil 1
#define INCLUDE_vTaskDelay 1
#endif /* __IAR_SYSTEMS_ICC__ */
#endif /* FREERTOS_CONFIG_H */

View File

@ -0,0 +1,298 @@
/*
FreeRTOS.org V5.1.1 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
***************************************************************************
***************************************************************************
* *
* SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
* and even write all or part of your application on your behalf. *
* See http://www.OpenRTOS.com for details of the services we provide to *
* expedite your project. *
* *
***************************************************************************
***************************************************************************
Please ensure to read the configuration and relevant port sections of the
online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
/**
* This is a simple LED toggle test for the V850ES/Fx3.
*
* 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 also starts with a toggling frequency of 1Hz but this frequency
* can be increased by pushing the switch button conected to pin INTP0.
* 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 third 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 yield time for the
* second LED is incremented by 100ms. If the yield time reaches a time greater
* then 3 seconds it is set back to 1 second within task 3.
*
* 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 SwitchSTACK_SIZE (( unsigned portSHORT ) configMINIMAL_STACK_SIZE)
#define LED_NUMBER_OF_TASKS 2
/* LED toggle wait time and check definitions */
static portTickType LED1_Wait_Time = 1000;
static portTickType LED2_Wait_Time = 1000;
static portTickType SWITCH_Wait_Time = 50;
/* Task function prototypes */
static void vLEDToggleTask1 ( void *pvParameters );
static void vLEDToggleTask2 ( void *pvParameters );
static void vSWITCHDelayTask ( 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 xSwitchQueue;
/*xQUEUE *xLEDQueue;*/
static volatile unsigned portSHORT usTask1Check = 0, usTask2Check = 0, usTask3Check = 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. */
xSwitchQueue = 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 * ) &(usTask2Check), uxPriority, NULL );
xTaskCreate(vSWITCHDelayTask, "SWITCH", SwitchSTACK_SIZE, ( void * ) &xSwitchQueue, (uxPriority+1), NULL );
}
/*---------------------------------------------------------------------------*/
static void vLEDToggleTask1( void *pvParameters)
{
static portCHAR pcLED1old;
static portCHAR LEDcounter1 = 0;
portSHORT sError = pdFALSE;
volatile unsigned portSHORT *pusTaskCheckVariable;
const portCHAR * const pcTaskFailMsg = "ERROR: LED toggle failed.\r\n";
pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;
for(;;)
{
pcLED1old = LED01;
LED01 = ~LED01;
LEDcounter1++;
vTaskDelay( LED1_Wait_Time );
/* toggle the 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)
{
static portCHAR pcLED2old;
portSHORT sError = pdFALSE;
volatile unsigned portSHORT *pusTaskCheckVariable;
const portCHAR * const pcTaskFailMsg = "ERROR: LED toggle failed.\r\n";
pusTaskCheckVariable = ( unsigned portSHORT * ) pvParameters;
for(;;)
{
pcLED2old = LED02;
/* toggle the LED02 */
LED02 = ~LED02;
vTaskDelay( LED2_Wait_Time );
if(pcLED2old == LED02)
{
/* 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 vSWITCHDelayTask( void *pvParameters)
{
unsigned portSHORT usData, usDataOld = 0;
xQueueHandle *pxQueue;
pxQueue = ( xQueueHandle * ) pvParameters;
for(;;)
{
if( xQueueReceive( *pxQueue, &usData, ( portTickType ) 0 ) == pdPASS )
{
if (usData != usDataOld)
{
LED2_Wait_Time += 100;
if(LED2_Wait_Time >= 3000)
{
LED2_Wait_Time = 1000;
}
}
usDataOld = usData;
}
vTaskDelay( SWITCH_Wait_Time );
/* increment check variable whenever the task gets active */
usTask3Check++;
}
}
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;
static unsigned portSHORT usLastTask3Check = 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)||(usLastTask3Check == usTask3Check))
{
/* The check has not incremented so an error exists. */
xReturn = pdFALSE;
}
usLastTask1Check = usTask1Check;
usLastTask2Check = usTask2Check;
usLastTask3Check = usTask3Check;
return xReturn;
}
/*-----------------------------------------------------------*/
static void prvLEDInit(void)
{
INTR0 = 0x00;
INTR1 = 0x00;
INTR3L = 0x00;
INTR3H = 0x00;
INTR4 = 0x00;
INTR6L = 0x00;
INTR6H = 0x00;
INTR8 = 0x00;
INTR9H = 0x00;
INTF0 = 0x00;
INTF1 = 0x00;
INTF3L = 0x00;
INTF3H = 0x00;
INTF4 = 0x00;
INTF6L = 0x00;
INTF6H = 0x00;
INTF8 = 0x00;
INTF9H = 0x00;
/* LED Port Initialization */
// PCM = 0x00;
PMCM = 0xF2;
PMCCM = 0x00;
/* Switch Pin Initialization */
/* INTP0 Setting */
PMK0 = 1; /* INTP0 disable */
PIF0 = 0; /* INTP0 IF clear */
/* Set INTP0 lowest priority */
PIC0 |= 0x07;
INTR0 |= 0x00;
INTF0 |= 0x08;
/* INTP0 pin set */
PFC0 &= 0xF7;
PFCE0 &= 0xF7;
PMC0 |= 0x08;
PIF0 = 0; /* INTP0 IF clear */
PMK0 = 0; /* INTP0 enable */
}
/*-----------------------------------------------------------*/
/* Switch ISR */
#pragma vector=INTP0_vector
__interrupt void MD_INTP0(void)
{
/* Increment Switch pressed counter */
usClick++;
/* Use usClick to signalize a detected Interrupt for the vLEDToggleTask2
* to toggle the LED02.
*/
xQueueSendFromISR( xSwitchQueue, &usClick, pdFALSE );
}
/*-----------------------------------------------------------*/

View File

@ -0,0 +1,61 @@
/*
FreeRTOS.org V5.1.1 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
***************************************************************************
***************************************************************************
* *
* SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
* and even write all or part of your application on your behalf. *
* See http://www.OpenRTOS.com for details of the services we provide to *
* expedite your project. *
* *
***************************************************************************
***************************************************************************
Please ensure to read the configuration and relevant port sections of the
online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
#ifndef 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 PCM_bit.no3
#define LED02 PCM_bit.no2
#endif

View File

@ -0,0 +1,355 @@
; 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.
;
; ***************************************************************************
; 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.
; ***************************************************************************
;
;------------------------------------------------------------------------------
; Note: Select the correct include files for the device used by the application.
EXTERN vRegTestFailed
;------------------------------------------------------------------------------
; Functions implemented in this file
;------------------------------------------------------------------------------
PUBLIC vRegTest1
PUBLIC vRegTest2
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
RSEG CODE:CODE
vRegTest1:
MOV 0x01010101, R1
MOV 0x02020202, R2
; Ignore R3 and R4 as these are the stack and global pointers respectively.
MOV 0x04040404, R5
MOV 0x05050505, R6
MOV 0x06060606, R7
MOV 0x07070707, R8
MOV 0x08080808, R9
MOV 0x09090909, R10
MOV 0x0a0a0a0a, R11
MOV 0x0b0b0b0b, R12
MOV 0x0c0c0c0c, R13
MOV 0x0d0d0d0d, R14
MOV 0x0e0e0e0e, R15
MOV 0x0f0f0f0f, R16
MOV 0x10101010, R17
MOV 0x11111111, R18
MOV 0x12121212, R19
MOV 0x13131313, R20
MOV 0x14141414, R21
MOV 0x15151515, R22
MOV 0x16161616, R23
MOV 0x17171717, R24
#if ( configDATA_MODE == 1 )
;R25 is used as a base register except when the tiny model is used. */
MOV 0x18181818, R25
#endif
MOV 0x19191919, R26
MOV 0x20202020, R27
MOV 0x21212121, R28
MOV 0x22222222, R29
MOV 0x23232323, R30
vReg1TestLoopStart:
MOV 0x01010101, R31
CMP R31, R1
BZ $+6
JARL vRegTestFailed, lp
MOV 0x02020202, R31
CMP R31, R2
BZ $+6
JARL vRegTestFailed, lp
MOV 0x04040404, R31
CMP R31, R5
BZ $+6
JARL vRegTestFailed, lp
MOV 0x05050505, R31
CMP R31, R6
BZ $+6
JARL vRegTestFailed, lp
MOV 0x06060606, R31
CMP R31, R7
BZ $+6
JARL vRegTestFailed, lp
MOV 0x07070707, R31
CMP R31, R8
BZ $+6
JARL vRegTestFailed, lp
MOV 0x08080808, R31
CMP R31, R9
BZ $+6
JARL vRegTestFailed, lp
MOV 0x09090909, R31
CMP R31, R10
BZ $+6
JARL vRegTestFailed, lp
MOV 0x0a0a0a0a, R31
CMP R31, R11
BZ $+6
JARL vRegTestFailed, lp
MOV 0x0b0b0b0b, R31
CMP R31, R12
BZ $+6
JARL vRegTestFailed, lp
MOV 0x0c0c0c0c, R31
CMP R31, R13
BZ $+6
JARL vRegTestFailed, lp
MOV 0x0d0d0d0d, R31
CMP R31, R14
BZ $+6
JARL vRegTestFailed, lp
MOV 0x0e0e0e0e, R31
CMP R31, R15
BZ $+6
JARL vRegTestFailed, lp
MOV 0x0f0f0f0f, R31
CMP R31, R16
BZ $+6
JARL vRegTestFailed, lp
MOV 0x10101010, R31
CMP R31, R17
BZ $+6
JARL vRegTestFailed, lp
MOV 0x11111111, R31
CMP R31, R18
BZ $+6
JARL vRegTestFailed, lp
MOV 0x12121212, R31
CMP R31, R19
BZ $+6
JARL vRegTestFailed, lp
MOV 0x13131313, R31
CMP R31, R20
BZ $+6
JARL vRegTestFailed, lp
MOV 0x14141414, R31
CMP R31, R21
BZ $+6
JARL vRegTestFailed, lp
MOV 0x15151515, R31
CMP R31, R22
BZ $+6
JARL vRegTestFailed, lp
MOV 0x16161616, R31
CMP R31, R23
BZ $+6
JARL vRegTestFailed, lp
MOV 0x17171717, R31
CMP R31, R24
BZ $+6
JARL vRegTestFailed, lp
#if ( configDATA_MODE == 1 )
MOV 0x18181818, R31
CMP R31, R25
BZ $+6
JARL vRegTestFailed, lp
#endif
MOV 0x19191919, R31
CMP R31, R26
BZ $+6
JARL vRegTestFailed, lp
MOV 0x20202020, R31
CMP R31, R27
BZ $+6
JARL vRegTestFailed, lp
MOV 0x21212121, R31
CMP R31, R28
BZ $+6
JARL vRegTestFailed, lp
MOV 0x22222222, R31
CMP R31, R29
BZ $+6
JARL vRegTestFailed, lp
MOV 0x23232323, R31
CMP R31, R30
BZ $+6
JARL vRegTestFailed, lp
MOV vReg1TestLoopStart, R31
JMP [R31]
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
RSEG CODE:CODE
vRegTest2:
MOV 0xa101010b, R1
MOV 0xa202020b, R2
; Ignore R3 and R4 as these are the stack and global pointers respectively.
MOV 0xa404040b, R5
MOV 0xa505050b, R6
MOV 0xa606060b, R7
MOV 0xa707070b, R8
MOV 0xa808080b, R9
MOV 0xa909090b, R10
MOV 0xaa0a0a0b, R11
MOV 0xab0b0b0b, R12
MOV 0xac0c0c0b, R13
MOV 0xad0d0d0b, R14
MOV 0xae0e0e0b, R15
MOV 0xaf0f0f0b, R16
MOV 0xa010101b, R17
MOV 0xa111111b, R18
MOV 0xa212121b, R19
MOV 0xa313131b, R20
MOV 0xa414141b, R21
MOV 0xa515151b, R22
MOV 0xa616161b, R23
MOV 0xa717171b, R24
#if ( configDATA_MODE == 1 )
;R25 is used as a base register except when the tiny model is used. */
MOV 0xa818181b, R25
#endif
MOV 0xa919191b, R26
MOV 0xa020202b, R27
MOV 0xa121212b, R28
MOV 0xa222222b, R29
MOV 0xa323232b, R30
vReg2TestLoopStart:
MOV 0xa101010b, R31
CMP R31, R1
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa202020b, R31
CMP R31, R2
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa404040b, R31
CMP R31, R5
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa505050b, R31
CMP R31, R6
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa606060b, R31
CMP R31, R7
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa707070b, R31
CMP R31, R8
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa808080b, R31
CMP R31, R9
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa909090b, R31
CMP R31, R10
BZ $+6
JARL vRegTestFailed, lp
MOV 0xaa0a0a0b, R31
CMP R31, R11
BZ $+6
JARL vRegTestFailed, lp
MOV 0xab0b0b0b, R31
CMP R31, R12
BZ $+6
JARL vRegTestFailed, lp
MOV 0xac0c0c0b, R31
CMP R31, R13
BZ $+6
JARL vRegTestFailed, lp
MOV 0xad0d0d0b, R31
CMP R31, R14
BZ $+6
JARL vRegTestFailed, lp
MOV 0xae0e0e0b, R31
CMP R31, R15
BZ $+6
JARL vRegTestFailed, lp
MOV 0xaf0f0f0b, R31
CMP R31, R16
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa010101b, R31
CMP R31, R17
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa111111b, R31
CMP R31, R18
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa212121b, R31
CMP R31, R19
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa313131b, R31
CMP R31, R20
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa414141b, R31
CMP R31, R21
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa515151b, R31
CMP R31, R22
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa616161b, R31
CMP R31, R23
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa717171b, R31
CMP R31, R24
BZ $+6
JARL vRegTestFailed, lp
#if ( configDATA_MODE == 1 )
MOV 0xa818181b, R31
CMP R31, R25
BZ $+6
JARL vRegTestFailed, lp
#endif
MOV 0xa919191b, R31
CMP R31, R26
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa020202b, R31
CMP R31, R27
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa121212b, R31
CMP R31, R28
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa222222b, R31
CMP R31, R29
BZ $+6
JARL vRegTestFailed, lp
MOV 0xa323232b, R31
CMP R31, R30
BZ $+6
JARL vRegTestFailed, lp
MOV vReg2TestLoopStart, R31
JMP [R31]
END

View File

@ -0,0 +1,253 @@
/*
FreeRTOS.org V5.1.1 - Copyright (C) 2003-2008 Richard Barry.
This file is part of the FreeRTOS.org distribution.
FreeRTOS.org is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
FreeRTOS.org is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with FreeRTOS.org; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes FreeRTOS.org, without being obliged to provide
the source code for any proprietary components. See the licensing section
of http://www.FreeRTOS.org for full details of how and when the exception
can be applied.
***************************************************************************
***************************************************************************
* *
* SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *
* and even write all or part of your application on your behalf. *
* See http://www.OpenRTOS.com for details of the services we provide to *
* expedite your project. *
* *
***************************************************************************
***************************************************************************
Please ensure to read the configuration and relevant port sections of the
online documentation.
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
#include <stdlib.h>
#include <string.h>
/* Scheduler include files. */
#include "FreeRTOS.h"
#include "task.h"
/* Demo file headers. */
#include <intrinsics.h>
#include "PollQ.h"
#include "semtest.h"
#include "print.h"
#include "semtest.h"
#include "led.h"
#include "integer.h"
/*
* Priority definitions for most of the tasks in the demo application. Some
* tasks just use the idle priority.
*/
#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 )
#define mainSEMTEST_PRIORITY ( tskIDLE_PRIORITY + 1 )
#define mainLED_TOGGLE_PRIORITY ( tskIDLE_PRIORITY + 1 )
/* The period between executions of the check task. */
#define mainCHECK_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS )
/* The task function for the "Check" task. */
static void vErrorChecks( void *pvParameters );
/*
* Checks the unique counts of other tasks to ensure they are still operational.
* Flashes an LED if everything is okay.
*/
static long prvCheckOtherTasksAreStillRunning( void );
/* low level initialization prototype */
unsigned portCHAR __low_level_init(void);
extern void vRegTest1( void *pvParameters );
extern void vRegTest2( void *pvParameters );
/*-----------------------------------------------------------*/
volatile portLONG lRegTestStatus = pdPASS;
void vRegTestFailed( void )
{
lRegTestStatus = pdFAIL;
for( ;; );
}
void main( void )
{
/* Create some standard demo tasks. */
// vStartIntegerMathTasks( tskIDLE_PRIORITY );
// vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );
// vStartSemaphoreTasks(mainSEMTEST_PRIORITY);
/* Create a simple task that toggles a pin. */
// vStartLEDToggleTasks( mainLED_TOGGLE_PRIORITY );
/* Create the tasks defined within this file. */
// xTaskCreate( vErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
// vPrintInitialise();
xTaskCreate( vRegTest1, "Check", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
xTaskCreate( vRegTest2, "Check", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
/* Start the scheduler. */
vTaskStartScheduler();
/* If this line is reached then vTaskStartScheduler() returned because there
was insufficient heap memory remaining for the idle task to be created. */
for( ;; );
}
/*-----------------------------------------------------------*/
static void vErrorChecks( void *pvParameters )
{
volatile long lError = pdFALSE;
/* Just to remove the compiler warning. */
( void ) pvParameters;
/* Cycle for ever, delaying then checking all the other tasks are still
operating without error. */
for( ;; )
{
/* Delay until it is time to check the other tasks again. */
vTaskDelay( mainCHECK_PERIOD );
if( prvCheckOtherTasksAreStillRunning() != pdPASS )
{
lError = pdTRUE;
/* Do something to indicate the error. */
( void ) lError;
}
}
}
/*-----------------------------------------------------------*/
static long prvCheckOtherTasksAreStillRunning( void )
{
long lStatus = pdPASS;
if( xAreIntegerMathsTaskStillRunning() != pdPASS )
{
lStatus = pdFAIL;
}
if( xArePollingQueuesStillRunning() != pdPASS )
{
lStatus = pdFAIL;
}
if( xAreSemaphoreTasksStillRunning() != pdPASS )
{
lStatus = pdFAIL;
}
if( xAreLEDToggleTaskStillRunning() != pdPASS )
{
lStatus = pdFAIL;
}
return lStatus;
}
/*-----------------------------------------------------------*/
unsigned portCHAR __low_level_init(void)
{
unsigned portCHAR resetflag = RESF;
unsigned portCHAR psval = 0;
/* Setup provided by NEC. */
/* Disable global interrupts to ensure no interrupts occur during system
setup. */
portDISABLE_INTERRUPTS();
PRCMD = 0x00;
OCDM = 0x00;
VSWC = 0x12;
VSWC = 18;
/* Set main system clock */
OSTS = 0x06;
psval = 0x80;
PRCMD = psval;
PCC = psval;
while (!OSTC)
{
;
}
PLLS = 0x03;
PLLON = 1;
while (LOCKR)
{
;
}
psval = 0x01;
PRCMD = psval;
MCM = psval;
SELPLL = 1;
/* Set fCPU */
psval = PCC | 0x00;
PRCMD = psval;
PCC = psval;
RCM = 0x83;
/* Set fXP1 */
SELCNT4 = 0x00;
/* Set fBRG */
PRSM0 = 0x00;
/* Stand-by setting */
psval = 0x00;
PRCMD = psval;
PSC = psval;
/* WDT2 setting */
WDTM2 = 0x1F;
/* PCL setting */
PCLM = 0x00;
/* disable dma0 - dma3 */
E00 = 0;
E11 = 0;
E22 = 0;
E33 = 0;
return pdTRUE;
}

View File

@ -0,0 +1,735 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<project>
<fileVersion>2</fileVersion>
<configuration>
<name>Debug</name>
<toolchain>
<name>V850</name>
</toolchain>
<debug>1</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>5</archiveVersion>
<data>
<version>12</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>CInput</name>
<state>1</state>
</option>
<option>
<name>CProcessor</name>
<state>0</state>
</option>
<option>
<name>DynDriver</name>
<state>MICV850</state>
</option>
<option>
<name>GoToEnable</name>
<state>1</state>
</option>
<option>
<name>GoToName</name>
<state>main</state>
</option>
<option>
<name>MacOverride</name>
<state>0</state>
</option>
<option>
<name>MacFile</name>
<state></state>
</option>
<option>
<name>MemOverride</name>
<state>0</state>
</option>
<option>
<name>MemFile</name>
<state>$TOOLKIT_DIR$\CONFIG\DDF\io70f3385.ddf</state>
</option>
<option>
<name>CMandatory</name>
<state>1</state>
</option>
<option>
<name>DDDFileSlave</name>
<state>1</state>
</option>
<option>
<name>CSpyExtraOptionsCheck</name>
<state>0</state>
</option>
<option>
<name>CSpyExtraOptions</name>
<state></state>
</option>
</data>
</settings>
<settings>
<name>EMUV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>EMUMandatory</name>
<state>0</state>
</option>
<option>
<name>EMUSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>EMUVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>EMUSmartStation</name>
<state>0</state>
</option>
<option>
<name>EmuDoLogfile</name>
<state>0</state>
</option>
<option>
<name>EmuLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
</data>
</settings>
<settings>
<name>IECV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>IECMandatory</name>
<state>0</state>
</option>
<option>
<name>IECSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>IECVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>IecDoLogfile</name>
<state>0</state>
</option>
<option>
<name>IecLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
</data>
</settings>
<settings>
<name>MICV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>MICMandatory</name>
<state>0</state>
</option>
<option>
<name>MICSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>MICVerifyLoad</name>
<state>1</state>
</option>
<option>
<name>MICEraseFlash</name>
<state>0</state>
</option>
<option>
<name>MICMINICUBESpeed</name>
<state>0</state>
</option>
<option>
<name>MicDoLogfile</name>
<state>0</state>
</option>
<option>
<name>MicLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>MICUseMini2</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>NWIV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>NWIMandatory</name>
<state>0</state>
</option>
<option>
<name>NWISuppressLoad</name>
<state>0</state>
</option>
<option>
<name>NWIVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>NWIEraseFlash</name>
<state>0</state>
</option>
<option>
<name>NWINWireSpeed</name>
<state>1</state>
</option>
<option>
<name>NwiDoLogfile</name>
<state>0</state>
</option>
<option>
<name>NwiLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
</data>
</settings>
<settings>
<name>ROMV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>ROMMandatory</name>
<state>0</state>
</option>
<option>
<name>ROMFastDownload</name>
<state>1</state>
</option>
<option>
<name>ROMSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>ROMVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>Port</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>Baud</name>
<version>0</version>
<state>7</state>
</option>
<option>
<name>Parity</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>DataBits</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>StopBits</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>Handshake</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>AllComm</name>
<state>1</state>
</option>
<option>
<name>DoLogfile</name>
<state>0</state>
</option>
<option>
<name>LogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
</data>
</settings>
<settings>
<name>SIMV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>SIMMandatory</name>
<state>0</state>
</option>
<option>
<name>SIMEnablePipe</name>
<state>0</state>
</option>
<option>
<name>SIMDisableAlign</name>
<state>0</state>
</option>
<option>
<name>SIMIllInstr</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>TKSV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>TKSMandatory</name>
<state>0</state>
</option>
<option>
<name>TKSSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>TKSVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>TksDoLogfile</name>
<state>0</state>
</option>
<option>
<name>TksLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>TksComPort</name>
<version>0</version>
<state>2</state>
</option>
</data>
</settings>
<debuggerPlugins>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
</debuggerPlugins>
</configuration>
<configuration>
<name>Release</name>
<toolchain>
<name>V850</name>
</toolchain>
<debug>0</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>5</archiveVersion>
<data>
<version>12</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>CInput</name>
<state>1</state>
</option>
<option>
<name>CProcessor</name>
<state>0</state>
</option>
<option>
<name>DynDriver</name>
<state>SIMV850</state>
</option>
<option>
<name>GoToEnable</name>
<state>1</state>
</option>
<option>
<name>GoToName</name>
<state>main</state>
</option>
<option>
<name>MacOverride</name>
<state>0</state>
</option>
<option>
<name>MacFile</name>
<state></state>
</option>
<option>
<name>MemOverride</name>
<state>0</state>
</option>
<option>
<name>MemFile</name>
<state></state>
</option>
<option>
<name>CMandatory</name>
<state>1</state>
</option>
<option>
<name>DDDFileSlave</name>
<state>1</state>
</option>
<option>
<name>CSpyExtraOptionsCheck</name>
<state>0</state>
</option>
<option>
<name>CSpyExtraOptions</name>
<state></state>
</option>
</data>
</settings>
<settings>
<name>EMUV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>EMUMandatory</name>
<state>0</state>
</option>
<option>
<name>EMUSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>EMUVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>EMUSmartStation</name>
<state>0</state>
</option>
<option>
<name>EmuDoLogfile</name>
<state>0</state>
</option>
<option>
<name>EmuLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
</data>
</settings>
<settings>
<name>IECV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>IECMandatory</name>
<state>0</state>
</option>
<option>
<name>IECSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>IECVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>IecDoLogfile</name>
<state>0</state>
</option>
<option>
<name>IecLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
</data>
</settings>
<settings>
<name>MICV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>MICMandatory</name>
<state>0</state>
</option>
<option>
<name>MICSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>MICVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>MICEraseFlash</name>
<state>0</state>
</option>
<option>
<name>MICMINICUBESpeed</name>
<state>1</state>
</option>
<option>
<name>MicDoLogfile</name>
<state>0</state>
</option>
<option>
<name>MicLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>MICUseMini2</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>NWIV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>NWIMandatory</name>
<state>0</state>
</option>
<option>
<name>NWISuppressLoad</name>
<state>0</state>
</option>
<option>
<name>NWIVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>NWIEraseFlash</name>
<state>0</state>
</option>
<option>
<name>NWINWireSpeed</name>
<state>1</state>
</option>
<option>
<name>NwiDoLogfile</name>
<state>0</state>
</option>
<option>
<name>NwiLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
</data>
</settings>
<settings>
<name>ROMV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>ROMMandatory</name>
<state>0</state>
</option>
<option>
<name>ROMFastDownload</name>
<state>1</state>
</option>
<option>
<name>ROMSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>ROMVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>Port</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>Baud</name>
<version>0</version>
<state>7</state>
</option>
<option>
<name>Parity</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>DataBits</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>StopBits</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>Handshake</name>
<version>0</version>
<state>0</state>
</option>
<option>
<name>AllComm</name>
<state>1</state>
</option>
<option>
<name>DoLogfile</name>
<state>0</state>
</option>
<option>
<name>LogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
</data>
</settings>
<settings>
<name>SIMV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>SIMMandatory</name>
<state>0</state>
</option>
<option>
<name>SIMEnablePipe</name>
<state>0</state>
</option>
<option>
<name>SIMDisableAlign</name>
<state>0</state>
</option>
<option>
<name>SIMIllInstr</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>TKSV850</name>
<archiveVersion>5</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>TKSMandatory</name>
<state>0</state>
</option>
<option>
<name>TKSSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>TKSVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>TksDoLogfile</name>
<state>0</state>
</option>
<option>
<name>TksLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>TksComPort</name>
<version>0</version>
<state>2</state>
</option>
</data>
</settings>
<debuggerPlugins>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
</debuggerPlugins>
</configuration>
</project>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<workspace>
<project>
<path>$WS_DIR$\rtosdemo.ewp</path>
</project>
<batchBuild/>
</workspace>

View File

@ -0,0 +1,32 @@
@REM This bat file has been generated by the IAR Embeddded Workbench
@REM C-SPY interactive debugger,as an aid to preparing a command
@REM line for running the cspybat command line utility with the
@REM appropriate settings.
@REM
@REM After making some adjustments to this file, you can launch cspybat
@REM by typing the name of this file followed by the name of the debug
@REM file (usually an ubrof file). Note that this file is generated
@REM every time a new debug session is initialized, so you may want to
@REM move or rename the file before making changes.
@REM
@REM Note: some command line arguments cannot be properly generated
@REM by this process. Specifically, the plugin which is responsible
@REM for the Terminal I/O window (and other C runtime functionality)
@REM comes in a special version for cspybat, and the name of that
@REM plugin dll is not known when generating this file. It resides in
@REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or
@REM XXXlibsupportbat.dll, where XXX is the name of the corresponding
@REM tool chain. Replace the '<libsupport_plugin>' parameter
@REM below with the appropriate file name. Other plugins loaded by
@REM C-SPY are usually not needed by, or will not work in, cspybat
@REM but they are listed at the end of this file for reference.
"C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\bin\cspybat" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\v850\bin\v850proc.dll" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\v850\bin\v850minicube.dll" %1 --plugin "C:\Devtools\IAR Systems\Embedded Workbench 5.0\v850\bin\<libsupport_plugin>" --backend -B "-v11" "-p" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\v850\CONFIG\DDF\io70f3385.ddf" "-d" "minicube" "-c2" "-en10000"
@REM Loaded plugins:
@REM v850LibSupport.dll
@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\CodeCoverage\CodeCoverage.dll
@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\Profiling\Profiling.dll
@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\SymList\SymList.dll

View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<Project>
<Desktop>
<Static>
<Debug-Log/>
<Build>
<ColumnWidth0>20</ColumnWidth0>
<ColumnWidth1>1216</ColumnWidth1>
<ColumnWidth2>324</ColumnWidth2>
<ColumnWidth3>81</ColumnWidth3>
</Build>
<Workspace>
<ColumnWidths>
<Column0>416</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Disassembly>
<PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><MixedMode>1</MixedMode><CodeCovShow>0</CodeCovShow></Disassembly>
<Register/></Static>
<Windows>
<Wnd0>
<Tabs>
<Tab>
<Identity>TabID-757-1323</Identity>
<TabName>Debug Log</TabName>
<Factory>Debug-Log</Factory>
<Session/>
</Tab>
<Tab>
<Identity>TabID-234-1333</Identity>
<TabName>Build</TabName>
<Factory>Build</Factory>
<Session/>
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd2>
<Tabs>
<Tab>
<Identity>TabID-11505-1326</Identity>
<TabName>Workspace</TabName>
<Factory>Workspace</Factory>
<Session>
<NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/demo source</ExpandedNode><ExpandedNode>rtosdemo/kernel source</ExpandedNode></NodeDict></Session>
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-24251-8685</Identity><TabName>Register</TabName><Factory>Register</Factory><Session><REG1>0</REG1><REG2>0</REG2><Group>0</Group><States>0</States></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Source\tasks.c</Filename><XPos>0</XPos><YPos>1450</YPos><SelStart>46490</SelStart><SelEnd>46508</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Source\portable\IAR\V850ES_Fx3\port.c</Filename><XPos>0</XPos><YPos>22</YPos><SelStart>1490</SelStart><SelEnd>1540</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Source\portable\IAR\V850ES_Fx3\portmacro.s85</Filename><XPos>0</XPos><YPos>136</YPos><SelStart>8722</SelStart><SelEnd>8740</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\semtest.c</Filename><XPos>0</XPos><YPos>182</YPos><SelStart>9520</SelStart><SelEnd>9520</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\NEC_V850ES_Fx3_IAR\LEDtoggle\LED.c</Filename><XPos>0</XPos><YPos>90</YPos><SelStart>4505</SelStart><SelEnd>4505</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\NEC_V850ES_Fx3_IAR\main.c</Filename><XPos>0</XPos><YPos>86</YPos><SelStart>3718</SelStart><SelEnd>3718</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\Common\Full\integer.c</Filename><XPos>0</XPos><YPos>326</YPos><SelStart>8020</SelStart><SelEnd>8043</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\NEC_V850ES_Fx3_IAR\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>51</YPos><SelStart>2675</SelStart><SelEnd>2675</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\NEC_V850ES_Fx3_IAR\RegTest.s85</Filename><XPos>0</XPos><YPos>163</YPos><SelStart>4999</SelStart><SelEnd>4999</SelEnd></Tab><ActiveTab>8</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-00aa9b50><key>iaridepm.enu1</key></Toolbar-00aa9b50><Toolbar-039ba368><key>debuggergui.enu1</key></Toolbar-039ba368></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>490</Right><x>-2</x><y>-2</y><xscreen>240</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>292857</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>286</Right><x>-2</x><y>-2</y><xscreen>240</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>171429</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd3></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Project>

View File

@ -0,0 +1,242 @@
[IECUBE]
MapEntries=0
HWsettings=255,0,0,0,0,0,0,0
HWsettings2=0
HWsettings3=124,0
EventEntries=0
SeqName0=
SeqData0=0,0,0
SeqEnable10=0,0,0,0,0,0,0,0,0,0
SeqEnable20=0,0,0,0,0,0,0,0,0,0
SeqEnable30=0,0,0,0,0,0,0,0,0,0
SeqEnable40=0,0,0,0,0,0,0,0,0,0
SeqDisable0=0,0,0,0,0,0,0,0,0,0
SeqName1=
SeqData1=0,0,0
SeqEnable11=0,0,0,0,0,0,0,0,0,0
SeqEnable21=0,0,0,0,0,0,0,0,0,0
SeqEnable31=0,0,0,0,0,0,0,0,0,0
SeqEnable41=0,0,0,0,0,0,0,0,0,0
SeqDisable1=0,0,0,0,0,0,0,0,0,0
SeqName2=
SeqData2=0,0,0
SeqEnable12=0,0,0,0,0,0,0,0,0,0
SeqEnable22=0,0,0,0,0,0,0,0,0,0
SeqEnable32=0,0,0,0,0,0,0,0,0,0
SeqEnable42=0,0,0,0,0,0,0,0,0,0
SeqDisable2=0,0,0,0,0,0,0,0,0,0
TraceSettings=0,0,0,0,0,0,0,2298478591,12,11,0,1,1,1,8192,0,4
DataFlashSettings=0,0,0,0,0,0,0,0,0,0,0,1,0,1,1
TraceSave=1,v850trace.txt
TriggerOutSettings=0,0,0,0,0,0,0,0,0,0
TimerSettings=0,0,0
Tim2Name1=
Tim2Data1=0,0,0,0,0,0,0,0,0
Tim2Start1=0,0,0,0,0,0,0,0,0,0
Tim2Stop1=0,0,0,0,0,0,0,0,0,0
Tim2Name2=
Tim2Data2=0,0,0,0,0,0,0,0,0
Tim2Start2=0,0,0,0,0,0,0,0,0,0
Tim2Stop2=0,0,0,0,0,0,0,0,0,0
Tim2Name3=
Tim2Data3=0,0,0,0,0,0,0,0,0
Tim2Start3=0,0,0,0,0,0,0,0,0,0
Tim2Stop3=0,0,0,0,0,0,0,0,0,0
Tim2Name4=
Tim2Data4=0,0,0,0,0,0,0,0,0
Tim2Start4=0,0,0,0,0,0,0,0,0,0
Tim2Stop4=0,0,0,0,0,0,0,0,0,0
Tim2Name5=
Tim2Data5=0,0,0,0,0,0,0,0,0
Tim2Start5=0,0,0,0,0,0,0,0,0,0
Tim2Stop5=0,0,0,0,0,0,0,0,0,0
Tim2Name6=
Tim2Data6=0,0,0,0,0,0,0,0,0
Tim2Start6=0,0,0,0,0,0,0,0,0,0
Tim2Stop6=0,0,0,0,0,0,0,0,0,0
Tim2Name7=
Tim2Data7=0,0,0,0,0,0,0,0,0
Tim2Start7=0,0,0,0,0,0,0,0,0,0
Tim2Stop7=0,0,0,0,0,0,0,0,0,0
Tim2Name8=
Tim2Data8=0,0,0,0,0,0,0,0,0
Tim2Start8=0,0,0,0,0,0,0,0,0,0
Tim2Stop8=0,0,0,0,0,0,0,0,0,0
Tim2Name9=
Tim2Data9=0,0,0,0,0,0,0,0,0
Tim2Start9=0,0,0,0,0,0,0,0,0,0
Tim2Stop9=0,0,0,0,0,0,0,0,0,0
CoverSettings=0,1048575,66060288,67108863,0,0,0
CoverSettings2=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Version=1
LastDevFile=unknown
LastSetupFailed=0
[MINICUBE2]
LastSetupFailed=0
MapEntries=0
HWsettings=255,0,0,0,0,0,0,0
HWsettings2=0
HWsettings3=124,0
EventEntries=0
SeqName0=
SeqData0=0,0,0
SeqEnable10=0,0,0,0,0,0,0,0,0,0
SeqEnable20=0,0,0,0,0,0,0,0,0,0
SeqEnable30=0,0,0,0,0,0,0,0,0,0
SeqEnable40=0,0,0,0,0,0,0,0,0,0
SeqDisable0=0,0,0,0,0,0,0,0,0,0
SeqName1=
SeqData1=0,0,0
SeqEnable11=0,0,0,0,0,0,0,0,0,0
SeqEnable21=0,0,0,0,0,0,0,0,0,0
SeqEnable31=0,0,0,0,0,0,0,0,0,0
SeqEnable41=0,0,0,0,0,0,0,0,0,0
SeqDisable1=0,0,0,0,0,0,0,0,0,0
SeqName2=
SeqData2=0,0,0
SeqEnable12=0,0,0,0,0,0,0,0,0,0
SeqEnable22=0,0,0,0,0,0,0,0,0,0
SeqEnable32=0,0,0,0,0,0,0,0,0,0
SeqEnable42=0,0,0,0,0,0,0,0,0,0
SeqDisable2=0,0,0,0,0,0,0,0,0,0
TraceSettings=0,0,0,0,0,0,0,2298478591,12,11,0,1,1,1,8192,0,4
DataFlashSettings=0,0,0,0,0,0,0,0,0,0,0,1,0,1,1
TraceSave=1,v850trace.txt
TriggerOutSettings=0,0,0,0,0,0,0,0,0,0
TimerSettings=0,0,0
Tim2Name1=
Tim2Data1=0,0,0,0,0,0,0,0,0
Tim2Start1=0,0,0,0,0,0,0,0,0,0
Tim2Stop1=0,0,0,0,0,0,0,0,0,0
Tim2Name2=
Tim2Data2=0,0,0,0,0,0,0,0,0
Tim2Start2=0,0,0,0,0,0,0,0,0,0
Tim2Stop2=0,0,0,0,0,0,0,0,0,0
Tim2Name3=
Tim2Data3=0,0,0,0,0,0,0,0,0
Tim2Start3=0,0,0,0,0,0,0,0,0,0
Tim2Stop3=0,0,0,0,0,0,0,0,0,0
Tim2Name4=
Tim2Data4=0,0,0,0,0,0,0,0,0
Tim2Start4=0,0,0,0,0,0,0,0,0,0
Tim2Stop4=0,0,0,0,0,0,0,0,0,0
Tim2Name5=
Tim2Data5=0,0,0,0,0,0,0,0,0
Tim2Start5=0,0,0,0,0,0,0,0,0,0
Tim2Stop5=0,0,0,0,0,0,0,0,0,0
Tim2Name6=
Tim2Data6=0,0,0,0,0,0,0,0,0
Tim2Start6=0,0,0,0,0,0,0,0,0,0
Tim2Stop6=0,0,0,0,0,0,0,0,0,0
Tim2Name7=
Tim2Data7=0,0,0,0,0,0,0,0,0
Tim2Start7=0,0,0,0,0,0,0,0,0,0
Tim2Stop7=0,0,0,0,0,0,0,0,0,0
Tim2Name8=
Tim2Data8=0,0,0,0,0,0,0,0,0
Tim2Start8=0,0,0,0,0,0,0,0,0,0
Tim2Stop8=0,0,0,0,0,0,0,0,0,0
Tim2Name9=
Tim2Data9=0,0,0,0,0,0,0,0,0
Tim2Start9=0,0,0,0,0,0,0,0,0,0
Tim2Stop9=0,0,0,0,0,0,0,0,0,0
CoverSettings=0,1048575,66060288,67108863,0,0,0
CoverSettings2=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Version=1
LastDevFile=unknown
[DisAssemblyWindow]
NumStates=_ 1
State 1=_ 1
[CodeCoverage]
Enabled=_ 0
[Profiling]
Enabled=0
[MINICUBE]
Map0=0,0,1048575,1024,3
Map1=1,67043328,67104767,60,3
MapEntries=2
HWsettings=11,33024,8155,0,160,0,0,1
HWsettings2=0
HWsettings3=124,1
NWsettings=1,5000,0,1,FFFFFFFFFFFFFFFFFFFF
NWsettings2=1
EventEntries=0
SeqName0=
SeqData0=0,0,0
SeqEnable10=0,0,0,0,0,0,0,0,0,0
SeqEnable20=0,0,0,0,0,0,0,0,0,0
SeqEnable30=0,0,0,0,0,0,0,0,0,0
SeqEnable40=0,0,0,0,0,0,0,0,0,0
SeqDisable0=0,0,0,0,0,0,0,0,0,0
SeqName1=
SeqData1=0,0,0
SeqEnable11=0,0,0,0,0,0,0,0,0,0
SeqEnable21=0,0,0,0,0,0,0,0,0,0
SeqEnable31=0,0,0,0,0,0,0,0,0,0
SeqEnable41=0,0,0,0,0,0,0,0,0,0
SeqDisable1=0,0,0,0,0,0,0,0,0,0
SeqName2=
SeqData2=0,0,0
SeqEnable12=0,0,0,0,0,0,0,0,0,0
SeqEnable22=0,0,0,0,0,0,0,0,0,0
SeqEnable32=0,0,0,0,0,0,0,0,0,0
SeqEnable42=0,0,0,0,0,0,0,0,0,0
SeqDisable2=0,0,0,0,0,0,0,0,0,0
TraceSettings=0,0,0,0,0,0,0,2298478591,12,11,0,1,1,1,8192,0,4
DataFlashSettings=0,0,0,0,0,0,0,0,0,0,0,1,0,1,1
TraceSave=1,v850trace.txt
TriggerOutSettings=0,0,0,0,0,0,0,0,0,0
TimerSettings=0,0,0
Tim2Name1=
Tim2Data1=0,0,0,0,0,0,0,0,0
Tim2Start1=0,0,0,0,0,0,0,0,0,0
Tim2Stop1=0,0,0,0,0,0,0,0,0,0
Tim2Name2=
Tim2Data2=0,0,0,0,0,0,0,0,0
Tim2Start2=0,0,0,0,0,0,0,0,0,0
Tim2Stop2=0,0,0,0,0,0,0,0,0,0
Tim2Name3=
Tim2Data3=0,0,0,0,0,0,0,0,0
Tim2Start3=0,0,0,0,0,0,0,0,0,0
Tim2Stop3=0,0,0,0,0,0,0,0,0,0
Tim2Name4=
Tim2Data4=0,0,0,0,0,0,0,0,0
Tim2Start4=0,0,0,0,0,0,0,0,0,0
Tim2Stop4=0,0,0,0,0,0,0,0,0,0
Tim2Name5=
Tim2Data5=0,0,0,0,0,0,0,0,0
Tim2Start5=0,0,0,0,0,0,0,0,0,0
Tim2Stop5=0,0,0,0,0,0,0,0,0,0
Tim2Name6=
Tim2Data6=0,0,0,0,0,0,0,0,0
Tim2Start6=0,0,0,0,0,0,0,0,0,0
Tim2Stop6=0,0,0,0,0,0,0,0,0,0
Tim2Name7=
Tim2Data7=0,0,0,0,0,0,0,0,0
Tim2Start7=0,0,0,0,0,0,0,0,0,0
Tim2Stop7=0,0,0,0,0,0,0,0,0,0
Tim2Name8=
Tim2Data8=0,0,0,0,0,0,0,0,0
Tim2Start8=0,0,0,0,0,0,0,0,0,0
Tim2Stop8=0,0,0,0,0,0,0,0,0,0
Tim2Name9=
Tim2Data9=0,0,0,0,0,0,0,0,0
Tim2Start9=0,0,0,0,0,0,0,0,0,0
Tim2Stop9=0,0,0,0,0,0,0,0,0,0
CoverSettings=0,1048575,66060288,67108863,0,0,0
CoverSettings2=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Version=1
LastDevFile=DF3385.800
LastSetupFailed=0
[Log file]
LoggingEnabled=_ 0
LogFile=_ ""
Category=_ 0
[TermIOLog]
LoggingEnabled=_ 0
LogFile=_ ""
[Breakpoints]
Count=0
[TraceHelper]
Enabled=1
ShowSource=1

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<Workspace>
<ConfigDictionary>
<CurrentConfigs><Project>rtosdemo/Debug</Project></CurrentConfigs></ConfigDictionary>
<Desktop>
<Static>
<Workspace>
<ColumnWidths>
<Column0>240</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1216</ColumnWidth1><ColumnWidth2>324</ColumnWidth2><ColumnWidth3>81</ColumnWidth3></Build><Debug-Log/><TerminalIO/></Static>
<Windows>
<Wnd2>
<Tabs>
<Tab>
<Identity>TabID-30435-11592</Identity>
<TabName>Workspace</TabName>
<Factory>Workspace</Factory>
<Session>
<NodeDict><ExpandedNode>rtosdemo</ExpandedNode><ExpandedNode>rtosdemo/demo source</ExpandedNode><ExpandedNode>rtosdemo/kernel source</ExpandedNode></NodeDict></Session>
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-2785-875</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-21438-1140</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-21061-4073</Identity><TabName>Breakpoints</TabName><Factory>Breakpoints</Factory></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Source\tasks.c</Filename><XPos>0</XPos><YPos>1450</YPos><SelStart>46490</SelStart><SelEnd>46508</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Source\portable\IAR\V850ES_Fx3\port.c</Filename><XPos>0</XPos><YPos>22</YPos><SelStart>1490</SelStart><SelEnd>1540</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Source\portable\IAR\V850ES_Fx3\portmacro.s85</Filename><XPos>0</XPos><YPos>136</YPos><SelStart>8722</SelStart><SelEnd>8740</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\semtest.c</Filename><XPos>0</XPos><YPos>182</YPos><SelStart>9520</SelStart><SelEnd>9520</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\NEC_V850ES_Fx3_IAR\LEDtoggle\LED.c</Filename><XPos>0</XPos><YPos>90</YPos><SelStart>4505</SelStart><SelEnd>4505</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\NEC_V850ES_Fx3_IAR\main.c</Filename><XPos>0</XPos><YPos>86</YPos><SelStart>3718</SelStart><SelEnd>3718</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\Common\Full\integer.c</Filename><XPos>0</XPos><YPos>326</YPos><SelStart>8020</SelStart><SelEnd>8043</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\NEC_V850ES_Fx3_IAR\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>51</YPos><SelStart>2675</SelStart><SelEnd>2675</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\temp\NEC\FreeRTOS V850\FreeRTOS_V850ESFx3\Demo\NEC_V850ES_Fx3_IAR\RegTest.s85</Filename><XPos>0</XPos><YPos>163</YPos><SelStart>4999</SelStart><SelEnd>4999</SelEnd></Tab><ActiveTab>8</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-00aa9b50><key>iaridepm.enu1</key></Toolbar-00aa9b50></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>314</Right><x>-2</x><y>-2</y><xscreen>316</xscreen><yscreen>205</yscreen><sizeHorzCX>188095</sizeHorzCX><sizeHorzCY>208758</sizeHorzCY><sizeVertCX>188095</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>