Start an RL78 demo project.

This commit is contained in:
Richard Barry 2011-09-02 10:49:16 +00:00
parent e256bca3f9
commit 1abff5d5cd
10 changed files with 3373 additions and 0 deletions

View file

@ -0,0 +1,161 @@
/*
FreeRTOS V7.0.1 - Copyright (C) 2011 Real Time Engineers Ltd.
FreeRTOS supports many tools and architectures. V7.0.0 is sponsored by:
Atollic AB - Atollic provides professional embedded systems development
tools for C/C++ development, code analysis and test automation.
See http://www.atollic.com
***************************************************************************
* *
* FreeRTOS tutorial books are available in pdf and paperback. *
* Complete, revised, and edited pdf reference manuals are also *
* available. *
* *
* Purchasing FreeRTOS documentation will not only help you, by *
* ensuring you get running as quickly as possible and with an *
* in-depth knowledge of how to use FreeRTOS, it will also help *
* the FreeRTOS project to continue with its mission of providing *
* professional grade, cross platform, de facto standard solutions *
* for microcontrollers - completely free of charge! *
* *
* >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
* *
* Thank you for using FreeRTOS, and thank you for your support! *
* *
***************************************************************************
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
>>>NOTE<<< The modification to the GPL is included to allow you to
distribute a combined work that includes FreeRTOS without being obliged to
provide the source code for proprietary components outside of the FreeRTOS
kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
1 tab == 4 spaces!
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
/*-----------------------------------------------------------
* 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.
*
* See http://www.freertos.org/a00110.html.
*----------------------------------------------------------*/
/* This #ifdef prevents the enclosed code being included from within an
asm file. It is valid in a C file, but not valid in an asm file. */
#ifdef __IAR_SYSTEMS_ICC__
#pragma language=extended
#pragma system_include
#include <intrinsics.h>
/* Device specific includes. */
#include <ior5f100le.h>
#include <ior5f100le_ext.h>
#endif /* __IAR_SYSTEMS_ICC__ */
#define configUSE_PREEMPTION 1
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
#define configMAX_TASK_NAME_LEN ( 10 )
#define configUSE_TRACE_FACILITY 0
#define configUSE_16_BIT_TICKS 1
#define configIDLE_SHOULD_YIELD 1
#define configTOTAL_HEAP_SIZE ( (size_t ) ( 2900 ) )
#define configCHECK_FOR_STACK_OVERFLOW 2
#define configUSE_MUTEXES 1
/* Hook function definitions. */
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
#define configUSE_MALLOC_FAILED_HOOK 1
/* Software timer definitions. */
#define configUSE_TIMERS 1
#define configTIMER_TASK_PRIORITY ( 2 )
#define configTIMER_QUEUE_LENGTH 10
#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE * 2 )
/* 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 1
#define INCLUDE_uxTaskPriorityGet 1
#define INCLUDE_vTaskDelete 0
#define INCLUDE_vTaskCleanUpResources 0
#define INCLUDE_vTaskSuspend 1
#define INCLUDE_vTaskDelayUntil 0
#define INCLUDE_vTaskDelay 1
#define INCLUDE_xTaskIdleTaskHandleGet 0
#define INCLUDE_xTimerDaemonTaskHandleGet 0
/******************************************************************************
* PORT SPECIFIC CONFIGURATION OPTIONS
******************************************************************************/
/*
* RL78/G13 Clock Source Configuration
* 1 = use internal High Speed Clock Source (typically 32Mhz on the RL78/G13)
* 0 = use external Clock Source
*/
#define configCLOCK_SOURCE 1
/*
* RL78/G13 Memory Model
* 1 = use far memory mode
* 0 = use near memory mode
*
* This setting must match the setting in the IAR project options.
*/
#define configMEMORY_MODE 0
#if configCLOCK_SOURCE == 0
#define configCPU_CLOCK_HZ ( ( unsigned long ) 20000000 ) /* using the external clock source */
#else
#define configCPU_CLOCK_HZ ( ( unsigned long ) 32000000 ) /* using the internal high speed clock */
#endif /* configCLOCK_SOURCE */
#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
#endif /* FREERTOS_CONFIG_H */

View file

@ -0,0 +1,581 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<project>
<fileVersion>2</fileVersion>
<configuration>
<name>Debug</name>
<toolchain>
<name>RL78</name>
</toolchain>
<debug>1</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>DebugMandatory</name>
<state>1</state>
</option>
<option>
<name>DebugInput</name>
<state>1</state>
</option>
<option>
<name>DebugProcessorVariant</name>
<state>0</state>
</option>
<option>
<name>DebuggerNearConstLocation</name>
<state>0</state>
</option>
<option>
<name>DebugRunToEnable</name>
<state>1</state>
</option>
<option>
<name>DebugRunToName</name>
<state>main</state>
</option>
<option>
<name>DebugMacOverride</name>
<state>0</state>
</option>
<option>
<name>DebugMacFile</name>
<state></state>
</option>
<option>
<name>DynDriver</name>
<state>E1RL78</state>
</option>
<option>
<name>DebugDDFOverride</name>
<state>0</state>
</option>
<option>
<name>DebugDDFFile</name>
<state>$TOOLKIT_DIR$\CONFIG\DDF\ior5f100le.ddf</state>
</option>
<option>
<name>DebugCUseExtraOptions</name>
<state>0</state>
</option>
<option>
<name>DebugExtraOptions</name>
<state></state>
</option>
<option>
<name>DebugImagesSuppressCheck1</name>
<state>0</state>
</option>
<option>
<name>DebugImagesPath1</name>
<state></state>
</option>
<option>
<name>DebugImagesSuppressCheck2</name>
<state>0</state>
</option>
<option>
<name>DebugImagesPath2</name>
<state></state>
</option>
<option>
<name>DebugImagesSuppressCheck3</name>
<state>0</state>
</option>
<option>
<name>DebugImagesPath3</name>
<state></state>
</option>
<option>
<name>DebugImagesOffset1</name>
<state></state>
</option>
<option>
<name>DebugImagesOffset2</name>
<state></state>
</option>
<option>
<name>DebugImagesOffset3</name>
<state></state>
</option>
<option>
<name>DebugImagesUse1</name>
<state>0</state>
</option>
<option>
<name>DebugImagesUse2</name>
<state>0</state>
</option>
<option>
<name>DebugImagesUse3</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>E1RL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>E1Mandatory</name>
<state>0</state>
</option>
<option>
<name>E1SuppressLoad</name>
<state>0</state>
</option>
<option>
<name>E1VerifyLoad</name>
<state>0</state>
</option>
<option>
<name>E1LogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>E1DoLogfile</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>E20RL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>E20Mandatory</name>
<state>0</state>
</option>
<option>
<name>E20SuppressLoad</name>
<state>0</state>
</option>
<option>
<name>E20VerifyLoad</name>
<state>0</state>
</option>
<option>
<name>E20LogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>E20DoLogfile</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>IECRL78</name>
<archiveVersion>1</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>IecLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>IecDoLogfile</name>
<state>0</state>
</option>
<option>
<name>IecSupExchAdapter</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>SIMRL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>SimMandatory</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>TKRL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
<name>TKMandatory</name>
<state>0</state>
</option>
<option>
<name>TKSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>TKVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>TKLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>TKDoLogfile</name>
<state>0</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-286-KA-CSpy.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\FreeRTOS\FreeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
<loadFlag>0</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>
<configuration>
<name>Release</name>
<toolchain>
<name>RL78</name>
</toolchain>
<debug>0</debug>
<settings>
<name>C-SPY</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>DebugMandatory</name>
<state>1</state>
</option>
<option>
<name>DebugInput</name>
<state>1</state>
</option>
<option>
<name>DebugProcessorVariant</name>
<state>0</state>
</option>
<option>
<name>DebuggerNearConstLocation</name>
<state>0</state>
</option>
<option>
<name>DebugRunToEnable</name>
<state>1</state>
</option>
<option>
<name>DebugRunToName</name>
<state>main</state>
</option>
<option>
<name>DebugMacOverride</name>
<state>0</state>
</option>
<option>
<name>DebugMacFile</name>
<state></state>
</option>
<option>
<name>DynDriver</name>
<state>SIMRL78</state>
</option>
<option>
<name>DebugDDFOverride</name>
<state>0</state>
</option>
<option>
<name>DebugDDFFile</name>
<state></state>
</option>
<option>
<name>DebugCUseExtraOptions</name>
<state>0</state>
</option>
<option>
<name>DebugExtraOptions</name>
<state></state>
</option>
<option>
<name>DebugImagesSuppressCheck1</name>
<state>0</state>
</option>
<option>
<name>DebugImagesPath1</name>
<state></state>
</option>
<option>
<name>DebugImagesSuppressCheck2</name>
<state>0</state>
</option>
<option>
<name>DebugImagesPath2</name>
<state></state>
</option>
<option>
<name>DebugImagesSuppressCheck3</name>
<state>0</state>
</option>
<option>
<name>DebugImagesPath3</name>
<state></state>
</option>
<option>
<name>DebugImagesOffset1</name>
<state></state>
</option>
<option>
<name>DebugImagesOffset2</name>
<state></state>
</option>
<option>
<name>DebugImagesOffset3</name>
<state></state>
</option>
<option>
<name>DebugImagesUse1</name>
<state>0</state>
</option>
<option>
<name>DebugImagesUse2</name>
<state>0</state>
</option>
<option>
<name>DebugImagesUse3</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>E1RL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>E1Mandatory</name>
<state>0</state>
</option>
<option>
<name>E1SuppressLoad</name>
<state>0</state>
</option>
<option>
<name>E1VerifyLoad</name>
<state>0</state>
</option>
<option>
<name>E1LogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>E1DoLogfile</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>E20RL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>E20Mandatory</name>
<state>0</state>
</option>
<option>
<name>E20SuppressLoad</name>
<state>0</state>
</option>
<option>
<name>E20VerifyLoad</name>
<state>0</state>
</option>
<option>
<name>E20LogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>E20DoLogfile</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>IECRL78</name>
<archiveVersion>1</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>IecLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>IecDoLogfile</name>
<state>0</state>
</option>
<option>
<name>IecSupExchAdapter</name>
<state>0</state>
</option>
</data>
</settings>
<settings>
<name>SIMRL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>SimMandatory</name>
<state>1</state>
</option>
</data>
</settings>
<settings>
<name>TKRL78</name>
<archiveVersion>1</archiveVersion>
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
<debug>0</debug>
<option>
<name>TKMandatory</name>
<state>0</state>
</option>
<option>
<name>TKSuppressLoad</name>
<state>0</state>
</option>
<option>
<name>TKVerifyLoad</name>
<state>0</state>
</option>
<option>
<name>TKLogFile</name>
<state>$PROJ_DIR$\cspycomm.log</state>
</option>
<option>
<name>TKDoLogfile</name>
<state>0</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-286-KA-CSpy.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\FreeRTOS\FreeRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\OpenRTOS\OpenRTOSPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
<plugin>
<file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
<loadFlag>0</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,213 @@
;/*
; FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
;
; ***************************************************************************
; * *
; * If you are: *
; * *
; * + New to FreeRTOS, *
; * + Wanting to learn FreeRTOS or multitasking in general quickly *
; * + Looking for basic training, *
; * + Wanting to improve your FreeRTOS skills and productivity *
; * *
; * then take a look at the FreeRTOS books - available as PDF or paperback *
; * *
; * "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
; * http://www.FreeRTOS.org/Documentation *
; * *
; * A pdf reference manual is also available. Both are usually delivered *
; * to your inbox within 20 minutes to two hours when purchased between 8am *
; * and 8pm GMT (although please allow up to 24 hours in case of *
; * exceptional circumstances). Thank you for your support! *
; * *
; ***************************************************************************
;
; This file is part of the FreeRTOS distribution.
;
; FreeRTOS is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License (version 2) as published by the
; Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
; ***NOTE*** The exception to the GPL is included to allow you to distribute
; a combined work that includes FreeRTOS without being obliged to provide the
; source code for proprietary components outside of the FreeRTOS kernel.
; FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
; can be viewed here: http://www.freertos.org/a00114.html and also obtained
; by writing to Richard Barry, contact details for whom are available on the
; FreeRTOS WEB site.
;
; 1 tab == 4 spaces!
;
; 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 file defines the RegTest tasks as described at the top of main.c
;
;------------------------------------------------------------------------------
#if __CORE__ != __RL78_1__
#error "This file is only for RL78 Devices"
#endif
; Functions implemented in this file
;------------------------------------------------------------------------------
PUBLIC vRegTest1
PUBLIC vRegTest2
; Functions used by this file
;------------------------------------------------------------------------------
EXTERN vRegTestError
;------------------------------------------------------------------------------
; Fill all the registers with known values, then check that the registers
; contain the expected value. An incorrect value being indicative of an
; error in the context switch mechanism.
;
; Input: NONE
;
; Call: Created as a task.
;
; Output: NONE
;
;------------------------------------------------------------------------------
RSEG CODE:CODE
vRegTest1:
; First fill the registers.
MOVW AX, #0x1122
MOVW BC, #0x3344
MOVW DE, #0x5566
MOVW HL, #0x7788
MOV CS, #0x01
#if configMEMORY_MODE == 1
; ES is not saved or restored when using the near memory model so only
; test it when using the far model.
MOV ES, #0x02
#endif
loop1:
; Continuously check that the register values remain at their expected
; values. The BRK is to test the yield. This task runs at low priority
; so will also regularly get preempted.
BRK
; Compare with the expected value.
CMPW AX, #0x1122
BZ +5
; Jump over the branch to vRegTestError() if the register contained the
; expected value - otherwise flag an error by executing vRegTestError().
BR vRegTestError
; Repeat for all the registers.
MOVW AX, BC
CMPW AX, #0x3344
BZ +5
BR vRegTestError
MOVW AX, DE
CMPW AX, #0x5566
BZ +5
BR vRegTestError
MOVW AX, HL
CMPW AX, #0x7788
BZ +5
BR vRegTestError
MOV A, CS
CMP A, #0x01
BZ +5
BR vRegTestError
#if configMEMORY_MODE == 1
; ES is not saved or restored when using the near memory model so only
; test it when using the far model.
MOV A, ES
CMP A, #0x02
BZ +5
BR vRegTestError
#endif
MOVW AX, #0x1122
BR loop1
;------------------------------------------------------------------------------
; Fill all the registers with known values, then check that the registers
; contain the expected value. An incorrect value being indicative of an
; error in the context switch mechanism.
;
; Input: NONE
;
; Call: Created as a task.
;
; Output: NONE
;
;------------------------------------------------------------------------------
RSEG CODE:CODE
vRegTest2:
MOVW AX, #0x99aa
MOVW BC, #0xbbcc
MOVW DE, #0xddee
MOVW HL, #0xff12
MOV CS, #0x03
#if configMEMORY_MODE == 1
MOV ES, #0x04
#endif
loop2:
CMPW AX, #0x99aa
BZ +5
BR vRegTestError
MOVW AX, BC
CMPW AX, #0xbbcc
BZ +5
BR vRegTestError
MOVW AX, DE
CMPW AX, #0xddee
BZ +5
BR vRegTestError
MOVW AX, HL
CMPW AX, #0xff12
BZ +5
BR vRegTestError
MOV A, CS
CMP A, #0x03
BZ +5
BR vRegTestError
#if configMEMORY_MODE == 1
MOV A, ES
CMP A, #0x04
BZ +5
BR vRegTestError
#endif
MOVW AX, #0x99aa
BR loop2
END

View file

@ -0,0 +1,312 @@
/*
FreeRTOS V7.0.1 - Copyright (C) 2011 Real Time Engineers Ltd.
FreeRTOS supports many tools and architectures. V7.0.0 is sponsored by:
Atollic AB - Atollic provides professional embedded systems development
tools for C/C++ development, code analysis and test automation.
See http://www.atollic.com
***************************************************************************
* *
* FreeRTOS tutorial books are available in pdf and paperback. *
* Complete, revised, and edited pdf reference manuals are also *
* available. *
* *
* Purchasing FreeRTOS documentation will not only help you, by *
* ensuring you get running as quickly as possible and with an *
* in-depth knowledge of how to use FreeRTOS, it will also help *
* the FreeRTOS project to continue with its mission of providing *
* professional grade, cross platform, de facto standard solutions *
* for microcontrollers - completely free of charge! *
* *
* >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
* *
* Thank you for using FreeRTOS, and thank you for your support! *
* *
***************************************************************************
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
>>>NOTE<<< The modification to the GPL is included to allow you to
distribute a combined work that includes FreeRTOS without being obliged to
provide the source code for proprietary components outside of the FreeRTOS
kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
can be viewed here: http://www.freertos.org/a00114.html and also obtained
by writing to Richard Barry, contact details for whom are available on the
FreeRTOS WEB site.
1 tab == 4 spaces!
http://www.FreeRTOS.org - Documentation, latest information, license and
contact details.
http://www.SafeRTOS.com - A version that is certified for use in safety
critical systems.
http://www.OpenRTOS.com - Commercial support, development, porting,
licensing and training services.
*/
/* Standard includes. */
#include <stdlib.h>
#include <string.h>
/* Scheduler include files. */
#include "FreeRTOS.h"
#include "task.h"
#include "timers.h"
/* Standard demo includes. */
#include "dynamic.h"
/* The period at which the check timer will expire, in ms, provided no errors
have been reported by any of the standard demo tasks. ms are converted to the
equivalent in ticks using the portTICK_RATE_MS constant. */
#define mainCHECK_TIMER_PERIOD_MS ( 3000UL / portTICK_RATE_MS )
/* The period at which the check timer will expire, in ms, if an error has been
reported in one of the standard demo tasks. ms are converted to the equivalent
in ticks using the portTICK_RATE_MS constant. */
#define mainERROR_CHECK_TIMER_PERIOD_MS ( 200UL / portTICK_RATE_MS )
/* The LED toggled by the check task. */
#define mainLED_0 P7_bit.no7
/* A block time of zero simple means "don't block". */
#define mainDONT_BLOCK ( 0U )
/*-----------------------------------------------------------*/
/*
* The 'check' timer callback function, as described at the top of this file.
*/
static void prvCheckTimerCallback( xTimerHandle xTimer );
/*
* This function is called from the C startup routine to setup the processor -
* in particular the clock source.
*/
int __low_level_init(void);
/*
* Functions that define the RegTest tasks as described at the top of this file.
*/
extern void vRegTest1( void *pvParameters );
extern void vRegTest2( void *pvParameters );
/*-----------------------------------------------------------*/
/* If an error is discovered by one of the RegTest tasks then this flag is set
to pdFAIL. The 'check' task then inspects this flag to detect errors within
the RegTest tasks. */
static short sRegTestStatus = pdPASS;
/* The check timer. This uses prvCheckTimerCallback() as its callback
function. */
static xTimerHandle xCheckTimer = NULL;
/* RL78/G13 Option Byte Definition. Watchdog disabled, LVI enabled, OCD interface
enabled. */
__root __far const unsigned char OptionByte[] @ 0x00C0 =
{
WATCHDOG_DISABLED, LVI_ENABLED, RESERVED_FF, OCD_ENABLED
};
/* Security byte definition */
__root __far const unsigned char SecuIDCode[] @ 0x00C4 =
{
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54
};
/*-----------------------------------------------------------*/
short main( void )
{
/* Creates all the tasks and timers, then starts the scheduler. */
/* First create the 'standard demo' tasks. These are used to demonstrate
API functions being used and also to test the kernel port. More information
is provided on the FreeRTOS.org WEB site. */
vStartDynamicPriorityTasks();
/* Create the RegTest tasks as described at the top of this file. */
xTaskCreate( vRegTest1, "Reg1", configMINIMAL_STACK_SIZE, NULL, 0, NULL );
xTaskCreate( vRegTest2, "Reg2", configMINIMAL_STACK_SIZE, NULL, 0, NULL );
/* Create the software timer that performs the 'check' functionality,
as described at the top of this file. */
xCheckTimer = xTimerCreate( ( const signed char * ) "CheckTimer",/* A text name, purely to help debugging. */
( mainCHECK_TIMER_PERIOD_MS ), /* The timer period, in this case 3000ms (3s). */
pdTRUE, /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */
( void * ) 0, /* The ID is not used, so can be set to anything. */
prvCheckTimerCallback /* The callback function that inspects the status of all the other tasks. */
);
/* Send a command to start the check timer. It will not actually start
until the scheduler is running (when vTaskStartScheduler() is called). */
xTimerStart( xCheckTimer, mainDONT_BLOCK );
/* Finally start the scheduler running. */
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 prvCheckTimerCallback( xTimerHandle xTimer )
{
static portBASE_TYPE xChangedTimerPeriodAlready = pdFALSE, xErrorStatus = pdPASS;
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
{
xErrorStatus = pdFAIL;
}
if( sRegTestStatus != pdPASS )
{
xErrorStatus = pdFAIL;
}
if( ( xErrorStatus == pdFAIL ) && ( xChangedTimerPeriodAlready == pdFALSE ) )
{
/* An error has occurred, but the timer's period has not yet been changed,
change it now, and remember that it has been changed. Shortening the
timer's period means the LED will toggle at a faster rate, giving a
visible indication that something has gone wrong. */
xChangedTimerPeriodAlready = pdTRUE;
/* This call to xTimerChangePeriod() uses a zero block time. Functions
called from inside of a timer callback function must *never* attempt to
block. */
xTimerChangePeriod( xCheckTimer, ( mainERROR_CHECK_TIMER_PERIOD_MS ), mainDONT_BLOCK );
}
/* Toggle the LED. The toggle rate will depend on whether or not an error
has been found in any tasks. */
mainLED_0 = !mainLED_0;
}
/*-----------------------------------------------------------*/
int __low_level_init(void)
{
unsigned portCHAR ucResetFlag = RESF;
portDISABLE_INTERRUPTS();
/* Clock Configuration:
In this port, to use the internal high speed clock source of the
microcontroller, define the configCLOCK_SOURCE as 1 in FreeRTOSConfig.h. To
use an external clock define configCLOCK_SOURCE as 0. */
#if configCLOCK_SOURCE == 1
{
/* Set fMX */
CMC = 0x00;
MSTOP = 1U;
/* Set fMAIN */
MCM0 = 0U;
/* Set fSUB */
XTSTOP = 1U;
OSMC = 0x10;
/* Set fCLK */
CSS = 0U;
/* Set fIH */
HIOSTOP = 0U;
}
#else
{
unsigned char ucTempStabset, ucTempStabWait;
/* Set fMX */
CMC = 0x41;
OSTS = 0x07;
MSTOP = 0U;
ucTempStabset = 0xFF;
do
{
ucTempStabWait = OSTC;
ucTempStabWait &= ucTempStabset;
}
while( ucTempStabWait != ucTempStabset );
/* Set fMAIN */
MCM0 = 1U;
/* Set fSUB */
XTSTOP = 1U;
OSMC = 0x10;
/* Set fCLK */
CSS = 0U;
/* Set fIH */
HIOSTOP = 0U;
}
#endif /* configCLOCK_SOURCE == 1 */
/* LED port initialization - set port register. */
P7 &= 0x7F;
/* Set port mode register. */
PM7 &= 0x7F;
/* Switch pin initialization - enable pull-up resistor. */
PU12_bit.no0 = 1;
return pdTRUE;
}
/*-----------------------------------------------------------*/
void vRegTestError( void )
{
/* Called by the RegTest tasks if an error is found. lRegTestStatus is
inspected by the check task. */
sRegTestStatus = pdFAIL;
/* Do not return from here as the reg test tasks clobber all registers so
function calls may not function correctly. */
for( ;; );
}
/*-----------------------------------------------------------*/
void vApplicationMallocFailedHook( void )
{
/* Called if a call to pvPortMalloc() fails because there is insufficient
free memory available in the FreeRTOS heap. pvPortMalloc() is called
internally by FreeRTOS API functions that create tasks, queues, software
timers, and semaphores. The size of the FreeRTOS heap is set by the
configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */
taskDISABLE_INTERRUPTS();
for( ;; );
}
/*-----------------------------------------------------------*/
void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
{
( void ) pcTaskName;
( void ) pxTask;
/* Run time stack overflow checking is performed if
configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook
function is called if a stack overflow is detected. */
taskDISABLE_INTERRUPTS();
for( ;; );
}

View file

@ -0,0 +1,15 @@
@REM This batch file has been generated by the IAR Embedded Workbench
@REM C-SPY Debugger, as an aid to preparing a command line for running
@REM the cspybat command line utility using the appropriate settings.
@REM
@REM You can launch cspybat by typing the name of this batch file followed
@REM by the name of the debug file (usually an ELF/DWARF or UBROF file).
@REM Note that this file is generated every time a new debug session
@REM is initialized, so you may want to move or rename the file before
@REM making changes.
@REM
"C:\devtools\IAR Systems\Embedded Workbench 6.0\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\bin\rl78proc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\bin\rl78ocd.dll" %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\bin\rl78bat.dll" --backend -B "--core" "rl78_1" "--near_const_location" "rom0" "--near_const_start" "0xf2000" "--near_const_size" "51.75" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.0\rl78\CONFIG\DDF\ior5f100le.ddf" "-d" "e1"

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<Project>
<Desktop>
<Static>
<Debug-Log>
<ColumnWidth0>20</ColumnWidth0><ColumnWidth1>912</ColumnWidth1></Debug-Log>
<Build>
<ColumnWidth0>20</ColumnWidth0><ColumnWidth1>684</ColumnWidth1><ColumnWidth2>182</ColumnWidth2><ColumnWidth3>45</ColumnWidth3></Build>
<Workspace>
<ColumnWidths>
<Column0>270</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Disassembly>
<MixedMode>1</MixedMode><CodeCovShow>1</CodeCovShow><InstrProfShow>1</InstrProfShow></Disassembly>
</Static>
<Windows>
<Wnd2>
<Tabs>
<Tab>
<Identity>TabID-30626-17561</Identity>
<TabName>Debug Log</TabName>
<Factory>Debug-Log</Factory>
<Session/>
</Tab>
<Tab>
<Identity>TabID-30103-17570</Identity>
<TabName>Build</TabName>
<Factory>Build</Factory>
<Session/>
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3>
<Tabs>
<Tab>
<Identity>TabID-8606-17564</Identity>
<TabName>Workspace</TabName>
<Factory>Workspace</Factory>
<Session>
<NodeDict><ExpandedNode>RTOSDemo</ExpandedNode></NodeDict></Session>
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd3></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>123</YPos><SelStart>6138</SelStart><SelEnd>6138</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\include\portable.h</Filename><XPos>0</XPos><YPos>41</YPos><SelStart>9284</SelStart><SelEnd>9284</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\tasks.c</Filename><XPos>0</XPos><YPos>455</YPos><SelStart>20208</SelStart><SelEnd>20208</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>95</YPos><SelStart>5356</SelStart><SelEnd>5356</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\port.c</Filename><XPos>0</XPos><YPos>6</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\queue.c</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>2846</SelStart><SelEnd>2846</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\portasm.s87</Filename><XPos>0</XPos><YPos>35</YPos><SelStart>2965</SelStart><SelEnd>2965</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\include\FreeRTOS.h</Filename><XPos>0</XPos><YPos>118</YPos><SelStart>6432</SelStart><SelEnd>6476</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\portmacro.h</Filename><XPos>0</XPos><YPos>51</YPos><SelStart>3711</SelStart><SelEnd>3711</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\list.c</Filename><XPos>0</XPos><YPos>30</YPos><SelStart>0</SelStart><SelEnd>3157</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\RegTest.s87</Filename><XPos>0</XPos><YPos>183</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\Common\Minimal\dynamic.c</Filename><XPos>0</XPos><YPos>344</YPos><SelStart>14819</SelStart><SelEnd>14819</SelEnd></Tab><ActiveTab>11</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-013361d0><key>iaridepm.enu1</key></Toolbar-013361d0></Sizes></Row0><Row1><Sizes><Toolbar-04b9a7e8><key>debuggergui.enu1</key></Toolbar-04b9a7e8><Toolbar-0b7be258><key>rl78ocd.enu1</key></Toolbar-0b7be258></Sizes></Row1></Top><Left><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>662</Bottom><Right>344</Right><x>-2</x><y>-2</y><xscreen>346</xscreen><yscreen>254</yscreen><sizeHorzCX>205952</sizeHorzCX><sizeHorzCY>258656</sizeHorzCY><sizeVertCX>205952</sizeVertCX><sizeVertCY>676171</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>252</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>254</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>258656</sizeHorzCY><sizeVertCX>205952</sizeVertCX><sizeVertCY>258656</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Project>

View file

@ -0,0 +1,184 @@
[InterruptLog]
LogEnabled=0
SumEnabled=0
GraphEnabled=0
ShowTimeLog=1
ShowTimeSum=1
SumSortOrder=0
[Interrupts]
Enabled=1
[MemoryMap]
Enabled=0
Base=0
UseAuto=0
TypeViolation=1
UnspecRange=1
ActionState=1
[DebugChecksum]
Checksum=-445921582
[DisAssemblyWindow]
NumStates=_ 1
State 1=_ 1
[InstructionProfiling]
Enabled=_ 0
[CodeCoverage]
Enabled=_ 0
[E1]
Map0=0,0,65535,65536
Map1=1,1044224,1048319,4096
MapEntries=2
HWsettings=1,0,0,0,4,0,1,0,16,16
HWsettingsCube=2,4294967295,2,4294967295,0,1,0,0
HWsettingsRsuid=55555555555555555554
EventEntries=0
SeqName0=
SeqData0=0,0
SeqEnable10=0,0,0,0,0,0,0,0,0,0
SeqEnable20=0,0,0,0,0,0,0,0,0,0
SeqEnable30=0,0,0,0,0,0,0,0,0,0
SeqEnable40=0,0,0,0,0,0,0,0,0,0
SeqDisable0=0,0,0,0,0,0,0,0,0,0
SeqData20=0,0,0,0,0,0
SeqName1=
SeqData1=0,0
SeqEnable11=0,0,0,0,0,0,0,0,0,0
SeqEnable21=0,0,0,0,0,0,0,0,0,0
SeqEnable31=0,0,0,0,0,0,0,0,0,0
SeqEnable41=0,0,0,0,0,0,0,0,0,0
SeqDisable1=0,0,0,0,0,0,0,0,0,0
SeqData21=0,0,0,0,0,0
SeqName2=
SeqData2=0,0
SeqEnable12=0,0,0,0,0,0,0,0,0,0
SeqEnable22=0,0,0,0,0,0,0,0,0,0
SeqEnable32=0,0,0,0,0,0,0,0,0,0
SeqEnable42=0,0,0,0,0,0,0,0,0,0
SeqDisable2=0,0,0,0,0,0,0,0,0,0
SeqData22=0,0,0,0,0,0
SeqName3=
SeqData3=0,0
SeqEnable13=0,0,0,0,0,0,0,0,0,0
SeqEnable23=0,0,0,0,0,0,0,0,0,0
SeqEnable33=0,0,0,0,0,0,0,0,0,0
SeqEnable43=0,0,0,0,0,0,0,0,0,0
SeqDisable3=0,0,0,0,0,0,0,0,0,0
SeqData23=0,0,0,0,0,0
SeqName4=
SeqData4=0,0
SeqEnable14=0,0,0,0,0,0,0,0,0,0
SeqEnable24=0,0,0,0,0,0,0,0,0,0
SeqEnable34=0,0,0,0,0,0,0,0,0,0
SeqEnable44=0,0,0,0,0,0,0,0,0,0
SeqDisable4=0,0,0,0,0,0,0,0,0,0
SeqData24=0,0,0,0,0,0
TraceSettings=64,0,0,0,0,0,8192
TimerSettings=0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
CoverSettings=1048192,1048207,0
Version=1,trace.txt
LastDevFile=DR5F100LE.DVF
EmulType=64
BreakToggle=0
EventLimits=0, 1, 1, 0, 0, 0, 2
LastSetupFailed=0
[StackPlugin]
Enabled=1
OverflowWarningsEnabled=1
WarningThreshold=90
SpWarningsEnabled=1
WarnHow=0
UseTrigger=1
TriggerName=main
LimitSize=0
ByteLimit=50
[TK]
LastSetupFailed=1
Map0=0,0,65535,65536
Map1=1,1044224,1048319,4096
MapEntries=2
HWsettings=1,0,0,2,4,0,1,0,16,1
HWsettingsCube=2,4294967295,2,4294967295,0,1,0,0
HWsettingsRsuid=AAAAAAAAAAAAAAAAAAAA
EventEntries=0
SeqName0=
SeqData0=0,0
SeqEnable10=0,0,0,0,0,0,0,0,0,0
SeqEnable20=0,0,0,0,0,0,0,0,0,0
SeqEnable30=0,0,0,0,0,0,0,0,0,0
SeqEnable40=0,0,0,0,0,0,0,0,0,0
SeqDisable0=0,0,0,0,0,0,0,0,0,0
SeqData20=0,0,0,0,0,0
SeqName1=
SeqData1=0,0
SeqEnable11=0,0,0,0,0,0,0,0,0,0
SeqEnable21=0,0,0,0,0,0,0,0,0,0
SeqEnable31=0,0,0,0,0,0,0,0,0,0
SeqEnable41=0,0,0,0,0,0,0,0,0,0
SeqDisable1=0,0,0,0,0,0,0,0,0,0
SeqData21=0,0,0,0,0,0
SeqName2=
SeqData2=0,0
SeqEnable12=0,0,0,0,0,0,0,0,0,0
SeqEnable22=0,0,0,0,0,0,0,0,0,0
SeqEnable32=0,0,0,0,0,0,0,0,0,0
SeqEnable42=0,0,0,0,0,0,0,0,0,0
SeqDisable2=0,0,0,0,0,0,0,0,0,0
SeqData22=0,0,0,0,0,0
SeqName3=
SeqData3=0,0
SeqEnable13=0,0,0,0,0,0,0,0,0,0
SeqEnable23=0,0,0,0,0,0,0,0,0,0
SeqEnable33=0,0,0,0,0,0,0,0,0,0
SeqEnable43=0,0,0,0,0,0,0,0,0,0
SeqDisable3=0,0,0,0,0,0,0,0,0,0
SeqData23=0,0,0,0,0,0
SeqName4=
SeqData4=0,0
SeqEnable14=0,0,0,0,0,0,0,0,0,0
SeqEnable24=0,0,0,0,0,0,0,0,0,0
SeqEnable34=0,0,0,0,0,0,0,0,0,0
SeqEnable44=0,0,0,0,0,0,0,0,0,0
SeqDisable4=0,0,0,0,0,0,0,0,0,0
SeqData24=0,0,0,0,0,0
TraceSettings=64,0,0,0,0,0,8192
TimerSettings=0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
CoverSettings=1048192,1048207,0
Version=1,xxx.txt
LastDevFile=DR5F100LE.DVF
EmulType=0
BreakToggle=0
EventLimits=3, 14, 8, 0, 0, 0, 9999
[Stack]
FillEnabled=0
OverflowWarningsEnabled=1
WarningThreshold=90
SpWarningsEnabled=1
WarnLogOnly=1
UseTrigger=1
TriggerName=main
LimitSize=0
ByteLimit=50
[CallStack]
ShowArgs=0
[Log file]
LoggingEnabled=_ 0
LogFile=_ ""
Category=_ 0
[TermIOLog]
LoggingEnabled=_ 0
LogFile=_ ""
[TraceHelper]
Enabled=0
ShowSource=1
[CallStackLog]
Enabled=0
[DriverProfiling]
Enabled=0
Mode=0
Graph=0
Symbiont=0
[Breakpoints]
Count=0
[Aliases]
A0=_ "C:\Data\RL78_STICK\FreeRTOSV6.1.1\Source\portable\IAR\RL78\portasm.s87" "E:\Data\RL78_STICK\FreeRTOSV6.1.1\Source\portable\IAR\RL78\portasm.s87"
Count=1
SuppressDialog=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>244</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>684</ColumnWidth1><ColumnWidth2>182</ColumnWidth2><ColumnWidth3>45</ColumnWidth3></Build><TerminalIO/><Debug-Log><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1218</ColumnWidth1></Debug-Log><Disassembly><MixedMode>1</MixedMode><CodeCovShow>1</CodeCovShow><InstrProfShow>1</InstrProfShow></Disassembly><Find-in-Files><ColumnWidth0>439</ColumnWidth0><ColumnWidth1>62</ColumnWidth1><ColumnWidth2>753</ColumnWidth2></Find-in-Files></Static>
<Windows>
<Wnd0>
<Tabs>
<Tab>
<Identity>TabID-25565-17041</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></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-4654-17433</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-14113-4559</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-7454-1824</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>123</YPos><SelStart>6138</SelStart><SelEnd>6138</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-013361d0><key>iaridepm.enu1</key></Toolbar-013361d0></Sizes></Row0><Row1><Sizes/></Row1><Row2><Sizes/></Row2><Row3><Sizes/></Row3><Row4><Sizes/></Row4><Row5><Sizes/></Row5><Row6><Sizes/></Row6></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>629</Bottom><Right>318</Right><x>-2</x><y>-2</y><xscreen>263</xscreen><yscreen>200</yscreen><sizeHorzCX>156548</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>190476</sizeVertCX><sizeVertCY>642566</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>309</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>311</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>316701</sizeHorzCY><sizeVertCX>205357</sizeVertCX><sizeVertCY>258656</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>