Migrated RL78/IAR port to EWRL78v3+ (#799)
parent
1509e4f742
commit
fc9396f576
@ -1,123 +0,0 @@
|
||||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
*
|
||||
*/
|
||||
|
||||
#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 ( ( unsigned short ) 1000 )
|
||||
#define configMAX_PRIORITIES ( 4 )
|
||||
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 80 )
|
||||
#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 ) ( 3420 ) )
|
||||
#define configCHECK_FOR_STACK_OVERFLOW 2
|
||||
#define configUSE_MUTEXES 1
|
||||
|
||||
/* Hook function definitions. */
|
||||
#define configUSE_IDLE_HOOK 1
|
||||
#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_xTaskGetIdleTaskHandle 0
|
||||
#define INCLUDE_xTimerGetTimerDaemonTaskHandle 0
|
||||
|
||||
/* Tick interrupt vector - this must match the INTIT_vect definition contained
|
||||
in the ior5fnnnn.h header file included at the top of this file (the value is
|
||||
dependent on the hardware being used. */
|
||||
#define configTICK_VECTOR 56
|
||||
|
||||
/******************************************************************************
|
||||
* 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
|
||||
|
||||
#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 */
|
||||
|
@ -0,0 +1,3 @@
|
||||
# FreeRTOS demo:<br>RL78_RL78G13_Promo_Board_IAR
|
||||
|
||||
This demo has been was superseded by [RL78_Multiple_IAR](../RL78_multiple_IAR), which also includes a _build configuration_ for the Renesas Promotion Board for RL78/G13 (__YRPBRL78G13__) as well as multiple `build configurations` for other Renesas evaluation boards.
|
@ -1,286 +0,0 @@
|
||||
<?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>TKRL78</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\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>
|
||||
|
||||
|
@ -1,910 +0,0 @@
|
||||
<?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>General</name>
|
||||
<archiveVersion>2</archiveVersion>
|
||||
<data>
|
||||
<version>0</version>
|
||||
<wantNonLocal>1</wantNonLocal>
|
||||
<debug>1</debug>
|
||||
<option>
|
||||
<name>GenDeviceSelect</name>
|
||||
<state>R5F100LE RL78 - R5F100LE</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenCodeModel</name>
|
||||
<version>0</version>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenDataModel</name>
|
||||
<version>0</version>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenNearConstLocation</name>
|
||||
<version>0</version>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenNearConstStart</name>
|
||||
<state>0xf2000</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenNearConstSize</name>
|
||||
<state>51.75</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GOutputBinary</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ExePath</name>
|
||||
<state>Debug\Exe</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ObjPath</name>
|
||||
<state>Debug\Obj</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ListPath</name>
|
||||
<state>Debug\List</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenRuntimeLibSelect</name>
|
||||
<version>0</version>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenRuntimeLibSelectSlave</name>
|
||||
<version>0</version>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenRTDescription</name>
|
||||
<state>Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenRTConfigPath</name>
|
||||
<state>$TOOLKIT_DIR$\LIB\dlrl78nn1n.h</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenRTLibraryPath</name>
|
||||
<state>$TOOLKIT_DIR$\LIB\dlrl78nn1n.r87</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenHwSupport</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenLibInFormatter</name>
|
||||
<version>0</version>
|
||||
<state>2</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenLibInFormatterDescription</name>
|
||||
<state>No specifier n, no float, no scan set, no assignment suppressing.</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenLibOutFormatter</name>
|
||||
<version>0</version>
|
||||
<state>3</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenLibOutFormatterDescription</name>
|
||||
<state>No specifier a or A, no specifier n, no float, no flags.</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenStackSize</name>
|
||||
<state>130</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenNearHeapSize</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenFarHeapSize</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GeneralEnableMisra</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GeneralMisraVerbose</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GeneralMisraVer</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GeneralMisraRules04</name>
|
||||
<version>0</version>
|
||||
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GeneralMisraRules98</name>
|
||||
<version>0</version>
|
||||
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
|
||||
</option>
|
||||
</data>
|
||||
</settings>
|
||||
<settings>
|
||||
<name>ICCRL78</name>
|
||||
<archiveVersion>2</archiveVersion>
|
||||
<data>
|
||||
<version>5</version>
|
||||
<wantNonLocal>1</wantNonLocal>
|
||||
<debug>1</debug>
|
||||
<option>
|
||||
<name>IccDivModInstr</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccCore</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccCodeModel</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccDataModel</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccNearConstLocation</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccObjPrefix</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccLibConfigHeader</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccLang</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccCDialect</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccAllowVLA</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccCppDialect</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccRelaxedFpPrecision</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccRequirePrototypes</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccLanguageConformance</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccCharIs</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccMultibyteSupport</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccOptLevel</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccOptStrategy</name>
|
||||
<version>0</version>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccOptLevelSlave</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccOptAllowList</name>
|
||||
<version>0</version>
|
||||
<state>00000</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccWrksegEnable</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccWrksegSize</name>
|
||||
<state>20</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccCalltFuncRt</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccModuleTypeOverride</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccModuleType</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccObjModuleNameOverride</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccObjModuleName</name>
|
||||
<state>$FILE_BNAME$</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccCodeSegmentNameOverride</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccCodeSegmentName</name>
|
||||
<state>CODE</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccGenerateDebugInfo</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccOutputFile</name>
|
||||
<state>$FILE_BNAME$.r87</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCDefines</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCPreprocFile</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCPreprocComments</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCPreprocLine</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCListCFile</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCListCMnemonics</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCListCMessages</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCListAssFile</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCListAssSource</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCEnableRemarks</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCDiagSuppress</name>
|
||||
<state>Pa082</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCDiagRemark</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCDiagWarning</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCDiagError</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCDiagWarnAreErr</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCCompilerRuntimeInfo</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>PreInclude</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCIncludePath2</name>
|
||||
<state>$PROJ_DIR$\..\..\Source\include</state>
|
||||
<state>$PROJ_DIR$\..\Common\include</state>
|
||||
<state>$PROJ_DIR$</state>
|
||||
<state>$PROJ_DIR$\..\..\Source\portable\IAR\RL78</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CompilerMisraOverride</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CompilerMisraRules04</name>
|
||||
<version>0</version>
|
||||
<state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CompilerMisraRules98</name>
|
||||
<version>0</version>
|
||||
<state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccUseExtraOptions</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IccExtraOptions</name>
|
||||
<state></state>
|
||||
</option>
|
||||
</data>
|
||||
</settings>
|
||||
<settings>
|
||||
<name>ARL78</name>
|
||||
<archiveVersion>2</archiveVersion>
|
||||
<data>
|
||||
<version>1</version>
|
||||
<wantNonLocal>1</wantNonLocal>
|
||||
<debug>1</debug>
|
||||
<option>
|
||||
<name>AsmCore</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmHwSupport</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmObjPrefix</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmOutputFile</name>
|
||||
<state>$FILE_BNAME$.r87</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmCaseSensitivity</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmMultibyteSupport</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmAllowMnemonics</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmAllowDirectives</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmMacroChars</name>
|
||||
<version>0</version>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmDebugInfo</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmListFile</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmListNoDiagnostics</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmListIncludeCrossRef</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmListMacroDefinitions</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmListNoMacroExpansion</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmListAssembledOnly</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmListTruncateMultiline</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmStdIncludeIgnore</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmIncludePath</name>
|
||||
<state>$PROJ_DIR$\..\..\Source\portable\IAR\RL78</state>
|
||||
<state>$PROJ_DIR$</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmDefines</name>
|
||||
<state></state>
|
||||
<state>__NEAR_DATA_MODEL__</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmPreprocOutput</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmPreprocComment</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmPreprocLine</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmEnableRemarks</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmDiagnosticsSuppress</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmDiagnosticsRemark</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmDiagnosticsWarning</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmDiagnosticsError</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmDiagnosticsWarningsAreErrors</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmLimitNumberOfErrors</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmMaxNumberOfErrors</name>
|
||||
<state>100</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmUseExtraOptions</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmExtraOptions</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmCodeModel</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AsmDataModel</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
</data>
|
||||
</settings>
|
||||
<settings>
|
||||
<name>CUSTOM</name>
|
||||
<archiveVersion>3</archiveVersion>
|
||||
<data>
|
||||
<extensions></extensions>
|
||||
<cmdline></cmdline>
|
||||
</data>
|
||||
</settings>
|
||||
<settings>
|
||||
<name>BICOMP</name>
|
||||
<archiveVersion>0</archiveVersion>
|
||||
<data/>
|
||||
</settings>
|
||||
<settings>
|
||||
<name>BUILDACTION</name>
|
||||
<archiveVersion>1</archiveVersion>
|
||||
<data>
|
||||
<prebuild></prebuild>
|
||||
<postbuild></postbuild>
|
||||
</data>
|
||||
</settings>
|
||||
<settings>
|
||||
<name>XLINK</name>
|
||||
<archiveVersion>2</archiveVersion>
|
||||
<data>
|
||||
<version>13</version>
|
||||
<wantNonLocal>1</wantNonLocal>
|
||||
<debug>1</debug>
|
||||
<option>
|
||||
<name>XOutOverride</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>OutputFile</name>
|
||||
<state>RTOSDemo.d87</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>OutputFormat</name>
|
||||
<version>11</version>
|
||||
<state>23</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>FormatVariant</name>
|
||||
<version>8</version>
|
||||
<state>2</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>SecondaryOutputFile</name>
|
||||
<state>(None for the selected format)</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XDefines</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AlwaysOutput</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>OverlapWarnings</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>NoGlobalCheck</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XList</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>SegmentMap</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ListSymbols</name>
|
||||
<state>2</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>PageLengthCheck</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>PageLength</name>
|
||||
<state>80</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XIncludes</name>
|
||||
<state>$TOOLKIT_DIR$\LIB\</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ModuleStatus</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XclOverride</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XclFile</name>
|
||||
<state>$TOOLKIT_DIR$\CONFIG\lnkr5f100le.xcl</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XclFileSlave</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XLinkMisraHandler</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XlinkExtraOptionsCheck</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XlinkExtraOptions</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>DoFill</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>FillerByte</name>
|
||||
<state>0xFF</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>DoCrc</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CrcSize</name>
|
||||
<version>0</version>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CrcAlgo</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CrcPoly</name>
|
||||
<state>0x11021</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CrcCompl</name>
|
||||
<version>0</version>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>RangeCheckAlternatives</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>SuppressAllWarn</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>SuppressDiags</name>
|
||||
<state>w18, w6</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>TreatAsWarn</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>TreatAsErr</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ModuleLocalSym</name>
|
||||
<version>0</version>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CrcBitOrder</name>
|
||||
<version>0</version>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IncludeSuppressed</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ModuleSummary</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>xcProgramEntryLabel</name>
|
||||
<state>__program_start</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>DebugInformation</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>RuntimeControl</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>IoEmulation</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>AllowExtraOutput</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GenerateExtraOutput</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XExtraOutOverride</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ExtraOutputFile</name>
|
||||
<state>RTOSDemo.a87</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ExtraOutputFormat</name>
|
||||
<version>11</version>
|
||||
<state>23</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ExtraFormatVariant</name>
|
||||
<version>8</version>
|
||||
<state>2</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>xcOverrideProgramEntryLabel</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>xcProgramEntryLabelSelect</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ListOutputFormat</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>BufferedTermOutput</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>OverlaySystemMap</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>RawBinaryFile</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>RawBinarySymbol</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>RawBinarySegment</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>RawBinaryAlign</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CrcAlign</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CrcInitialValue</name>
|
||||
<state>0x0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XlinkNearConstLocation</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XlinkRTLibraryFile</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XlinkHwSupport</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XlinkLibIOConfig</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XlinkStackSize</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XlinkNearHeap</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XlinkFarHeap</name>
|
||||
<state>1</state>
|
||||
</option>
|
||||
</data>
|
||||
</settings>
|
||||
<settings>
|
||||
<name>XAR</name>
|
||||
<archiveVersion>2</archiveVersion>
|
||||
<data>
|
||||
<version>0</version>
|
||||
<wantNonLocal>1</wantNonLocal>
|
||||
<debug>1</debug>
|
||||
<option>
|
||||
<name>XarOutOverride</name>
|
||||
<state>0</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XarInputs</name>
|
||||
<state></state>
|
||||
</option>
|
||||
<option>
|
||||
<name>XarOutputFile</name>
|
||||
<state></state>
|
||||
</option>
|
||||
</data>
|
||||
</settings>
|
||||
<settings>
|
||||
<name>INTERNAL_HWSUPPORT</name>
|
||||
<archiveVersion>2</archiveVersion>
|
||||
<data/>
|
||||
</settings>
|
||||
<settings>
|
||||
<name>BILINK</name>
|
||||
<archiveVersion>0</archiveVersion>
|
||||
<data/>
|
||||
</settings>
|
||||
</configuration>
|
||||
<group>
|
||||
<name>Demo Source</name>
|
||||
<group>
|
||||
<name>StandardDemos</name>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\Common\Minimal\blocktim.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\Common\Minimal\dynamic.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\Common\Minimal\PollQ.c</name>
|
||||
</file>
|
||||
</group>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\main.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\RegTest.s87</name>
|
||||
</file>
|
||||
</group>
|
||||
<group>
|
||||
<name>Kernel Source</name>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\Source\list.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\Source\portable\IAR\RL78\port.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\Source\portable\IAR\RL78\portasm.s87</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\Source\queue.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\Source\tasks.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\Source\timers.c</name>
|
||||
</file>
|
||||
</group>
|
||||
</project>
|
||||
|
||||
|
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
|
||||
<workspace>
|
||||
<project>
|
||||
<path>$WS_DIR$\RTOSDemo.ewp</path>
|
||||
</project>
|
||||
<batchBuild/>
|
||||
</workspace>
|
||||
|
||||
|
@ -1,188 +0,0 @@
|
||||
;/*
|
||||
; * FreeRTOS V202112.00
|
||||
; * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
; *
|
||||
; * Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
; * this software and associated documentation files (the "Software"), to deal in
|
||||
; * the Software without restriction, including without limitation the rights to
|
||||
; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
; * the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
; * subject to the following conditions:
|
||||
; *
|
||||
; * The above copyright notice and this permission notice shall be included in all
|
||||
; * copies or substantial portions of the Software.
|
||||
; *
|
||||
; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
; *
|
||||
; * https://www.FreeRTOS.org
|
||||
; * https://aws.amazon.com/freertos
|
||||
; *
|
||||
; * 1 tab == 4 spaces!
|
||||
; */
|
||||
|
||||
|
||||
;
|
||||
; 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 __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
|
||||
; 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 __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
|
||||
; 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 __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
|
||||
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 __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
|
||||
MOV A, ES
|
||||
CMP A, #0x04
|
||||
BZ +5
|
||||
BR vRegTestError
|
||||
|
||||
#endif
|
||||
|
||||
MOVW AX, #0x99aa
|
||||
BR loop2
|
||||
|
||||
|
||||
END
|
@ -1,413 +0,0 @@
|
||||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://aws.amazon.com/freertos
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
*
|
||||
* ENSURE TO READ THE DOCUMENTATION PAGE FOR THIS PORT AND DEMO APPLICATION ON
|
||||
* THE http://www.FreeRTOS.org WEB SITE FOR FULL INFORMATION ON USING THIS DEMO
|
||||
* APPLICATION, AND ITS ASSOCIATE FreeRTOS ARCHITECTURE PORT!
|
||||
*
|
||||
*
|
||||
* main() creates the demo application tasks and timers, then starts the
|
||||
* scheduler.
|
||||
*
|
||||
* This demo is configured to run on the RL78/G13 Promotion Board, which is
|
||||
* fitted with a R5F100LEA microcontroller. The R5F100LEA contains a little
|
||||
* under 4K bytes of usable internal RAM. The RAM size restricts the number of
|
||||
* demo tasks that can be created, and the demo creates 13 tasks, 4 queues and
|
||||
* two timers. The RL78 range does however include parts with up to 32K bytes
|
||||
* of RAM (at the time of writing). Using FreeRTOS on such a part will allow an
|
||||
* application to make a more comprehensive use of FreeRTOS tasks, and other
|
||||
* FreeRTOS features.
|
||||
*
|
||||
* In addition to the standard demo tasks, the following tasks, tests and timers
|
||||
* are created within this file:
|
||||
*
|
||||
* "Reg test" tasks - These fill the registers with known values, then check
|
||||
* that each register still contains its expected value. Each task uses a
|
||||
* different set of values. The reg test tasks execute with a very low priority,
|
||||
* so get preempted very frequently. A register containing an unexpected value
|
||||
* is indicative of an error in the context switching mechanism.
|
||||
*
|
||||
* The "Demo" Timer and Callback Function:
|
||||
* The demo timer callback function does nothing more than increment a variable.
|
||||
* The period of the demo timer is set relative to the period of the check timer
|
||||
* (described below). This allows the check timer to know how many times the
|
||||
* demo timer callback function should execute between each execution of the
|
||||
* check timer callback function. The variable incremented in the demo timer
|
||||
* callback function is used to determine how many times the callback function
|
||||
* has executed.
|
||||
*
|
||||
* The "Check" Timer and Callback Function:
|
||||
* The check timer period is initially set to three seconds. The check timer
|
||||
* callback function checks that all the standard demo tasks, the reg test tasks,
|
||||
* and the demo timer are not only still executing, but are executing without
|
||||
* reporting any errors. If the check timer discovers that a task or timer has
|
||||
* stalled, or reported an error, then it changes its own period from the
|
||||
* initial three seconds, to just 200ms. The check timer callback function also
|
||||
* toggles the user LED each time it is called. This provides a visual
|
||||
* indication of the system status: If the LED toggles every three seconds,
|
||||
* then no issues have been discovered. If the LED toggles every 200ms, then an
|
||||
* issue has been discovered with at least one task.
|
||||
*
|
||||
*/
|
||||
|
||||
/* Scheduler include files. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "timers.h"
|
||||
|
||||
/* Standard demo includes. */
|
||||
#include "dynamic.h"
|
||||
#include "PollQ.h"
|
||||
#include "blocktim.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_PERIOD_MS constant. */
|
||||
#define mainCHECK_TIMER_PERIOD_MS ( 3000UL / portTICK_PERIOD_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, the check tasks, or the demo timer.
|
||||
ms are converted to the equivalent in ticks using the portTICK_PERIOD_MS
|
||||
constant. */
|
||||
#define mainERROR_CHECK_TIMER_PERIOD_MS ( 200UL / portTICK_PERIOD_MS )
|
||||
|
||||
/* These two definitions are used to set the period of the demo timer. The demo
|
||||
timer period is always relative to the check timer period, so the check timer
|
||||
can determine if the demo timer has expired the expected number of times between
|
||||
its own executions. */
|
||||
#define mainDEMO_TIMER_INCREMENTS_PER_CHECK_TIMER_TIMEOUT ( 100UL )
|
||||
#define mainDEMO_TIMER_PERIOD_MS ( mainCHECK_TIMER_PERIOD_MS / mainDEMO_TIMER_INCREMENTS_PER_CHECK_TIMER_TIMEOUT )
|
||||
|
||||
/* The LED toggled by the check timer. */
|
||||
#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( TimerHandle_t xTimer );
|
||||
|
||||
/*
|
||||
* The 'demo' timer callback function, as described at the top of this file.
|
||||
*/
|
||||
static void prvDemoTimerCallback( TimerHandle_t 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' timer 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 TimerHandle_t xCheckTimer = NULL;
|
||||
|
||||
/* The demo timer. This uses prvDemoTimerCallback() as its callback function. */
|
||||
static TimerHandle_t xDemoTimer = NULL;
|
||||
|
||||
/* This variable is incremented each time the demo timer expires. */
|
||||
static volatile unsigned long ulDemoSoftwareTimerCounter = 0UL;
|
||||
|
||||
/* RL78 Option Byte Definition. Watchdog disabled, LVI enabled, OCD interface
|
||||
enabled. */
|
||||
__root __far const unsigned char OptionByte[] @ 0x00C0 =
|
||||
{
|
||||
0x6eU, 0xffU, 0xe8U, 0x85U
|
||||
};
|
||||
|
||||
/* 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();
|
||||
vStartPolledQueueTasks( tskIDLE_PRIORITY );
|
||||
vCreateBlockTimeTasks();
|
||||
|
||||
/* 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( "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. */
|
||||
);
|
||||
|
||||
/* Create the software timer that just increments a variable for demo
|
||||
purposes. */
|
||||
xDemoTimer = xTimerCreate( "DemoTimer",/* A text name, purely to help debugging. */
|
||||
( mainDEMO_TIMER_PERIOD_MS ), /* The timer period, in this case it is always calculated relative to the check timer period (see the definition of mainDEMO_TIMER_PERIOD_MS). */
|
||||
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. */
|
||||
prvDemoTimerCallback /* The callback function that inspects the status of all the other tasks. */
|
||||
);
|
||||
|
||||
/* Start both the check timer and the demo timer. The timers won't actually
|
||||
start until the scheduler is started. */
|
||||
xTimerStart( xCheckTimer, mainDONT_BLOCK );
|
||||
xTimerStart( xDemoTimer, 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 prvDemoTimerCallback( TimerHandle_t xTimer )
|
||||
{
|
||||
/* The demo timer has expired. All it does is increment a variable. The
|
||||
period of the demo timer is relative to that of the check timer, so the
|
||||
check timer knows how many times this variable should have been incremented
|
||||
between each execution of the check timer's own callback. */
|
||||
ulDemoSoftwareTimerCounter++;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvCheckTimerCallback( TimerHandle_t xTimer )
|
||||
{
|
||||
static portBASE_TYPE xChangedTimerPeriodAlready = pdFALSE, xErrorStatus = pdPASS;
|
||||
|
||||
/* Inspect the status of the standard demo tasks. */
|
||||
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
xErrorStatus = pdFAIL;
|
||||
}
|
||||
|
||||
if( xArePollingQueuesStillRunning() != pdTRUE )
|
||||
{
|
||||
xErrorStatus = pdFAIL;
|
||||
}
|
||||
|
||||
if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
xErrorStatus = pdFAIL;
|
||||
}
|
||||
|
||||
/* Inspect the status of the reg test tasks. */
|
||||
if( sRegTestStatus != pdPASS )
|
||||
{
|
||||
xErrorStatus = pdFAIL;
|
||||
}
|
||||
|
||||
/* Ensure that the demo software timer has expired
|
||||
mainDEMO_TIMER_INCREMENTS_PER_CHECK_TIMER_TIMEOUT times in between
|
||||
each call of this function. A critical section is not required to access
|
||||
ulDemoSoftwareTimerCounter as the variable is only accessed from another
|
||||
software timer callback, and only one software timer callback can be
|
||||
executing at any time. */
|
||||
if( ( ulDemoSoftwareTimerCounter < ( mainDEMO_TIMER_INCREMENTS_PER_CHECK_TIMER_TIMEOUT - 1 ) ) ||
|
||||
( ulDemoSoftwareTimerCounter > ( mainDEMO_TIMER_INCREMENTS_PER_CHECK_TIMER_TIMEOUT + 1 ) )
|
||||
)
|
||||
{
|
||||
xErrorStatus = pdFAIL;
|
||||
}
|
||||
else
|
||||
{
|
||||
ulDemoSoftwareTimerCounter = 0UL;
|
||||
}
|
||||
|
||||
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 char 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( TaskHandle_t pxTask, 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( ;; );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vApplicationIdleHook( void )
|
||||
{
|
||||
volatile size_t xFreeHeapSpace;
|
||||
|
||||
/* This is just a trivial example of an idle hook. It is called on each
|
||||
cycle of the idle task. It must *NOT* attempt to block. In this case the
|
||||
idle task just queries the amount of FreeRTOS heap that remains. See the
|
||||
memory management section on the http://www.FreeRTOS.org web site for memory
|
||||
management options. If there is a lot of heap memory free then the
|
||||
configTOTAL_HEAP_SIZE value in FreeRTOSConfig.h can be reduced to free up
|
||||
RAM. */
|
||||
xFreeHeapSpace = xPortGetFreeHeapSize();
|
||||
}
|
||||
|
@ -1,15 +0,0 @@
|
||||
@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" "tk"
|
||||
|
||||
|
@ -1,79 +0,0 @@
|
||||
<?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>188</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>1</CodeCovShow><InstrProfShow>1</InstrProfShow></Disassembly>
|
||||
<STACK2><PreferedWindows><Position>1</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></STACK2><Register><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Register></Static>
|
||||
<Windows>
|
||||
|
||||
|
||||
|
||||
<Wnd0>
|
||||
<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></Wnd0><Wnd1>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-8606-17564</Identity>
|
||||
<TabName>Workspace</TabName>
|
||||
<Factory>Workspace</Factory>
|
||||
<Session>
|
||||
|
||||
<NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/Demo Source</ExpandedNode><ExpandedNode>RTOSDemo/Demo Source/StandardDemos</ExpandedNode><ExpandedNode>RTOSDemo/Kernel Source</ExpandedNode></NodeDict></Session>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd1></Windows>
|
||||
<Editor>
|
||||
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>231</YPos><SelStart>11243</SelStart><SelEnd>11243</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-01bf0d90><key>iaridepm.enu1</key></Toolbar-01bf0d90></Sizes></Row0><Row1><Sizes><Toolbar-02bb4d40><key>debuggergui.enu1</key></Toolbar-02bb4d40><Toolbar-02bb55d8><key>rl78ocd.enu1</key></Toolbar-02bb55d8></Sizes></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>631</Bottom><Right>262</Right><x>-2</x><y>-2</y><xscreen>264</xscreen><yscreen>244</yscreen><sizeHorzCX>206250</sizeHorzCX><sizeHorzCY>259023</sizeHorzCY><sizeVertCX>206250</sizeVertCX><sizeVertCY>671975</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>242</Bottom><Right>1282</Right><x>-2</x><y>-2</y><xscreen>1284</xscreen><yscreen>244</yscreen><sizeHorzCX>1003125</sizeHorzCX><sizeHorzCY>259023</sizeHorzCY><sizeVertCX>206250</sizeVertCX><sizeVertCY>259023</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Project>
|
||||
|
||||
|
@ -1,185 +0,0 @@
|
||||
[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=-1460440724
|
||||
[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,xxx.txt
|
||||
LastDevFile=DR5F100LE.DVF
|
||||
EmulType=64
|
||||
BreakToggle=0
|
||||
EventLimits=0, 1, 1, 0, 0, 0, 2
|
||||
LastSetupFailed=1
|
||||
[StackPlugin]
|
||||
Enabled=1
|
||||
OverflowWarningsEnabled=1
|
||||
WarningThreshold=90
|
||||
SpWarningsEnabled=1
|
||||
WarnHow=0
|
||||
UseTrigger=1
|
||||
TriggerName=main
|
||||
LimitSize=0
|
||||
ByteLimit=50
|
||||
[TK]
|
||||
LastSetupFailed=0
|
||||
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=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=256
|
||||
BreakToggle=0
|
||||
EventLimits=0, 1, 1, 0, 0, 0, 2
|
||||
[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]
|
||||
Bp0=_ "STD_CODE" "{$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c}.121.4@1" 1 0 0 0 "" 0 ""
|
||||
Count=1
|
||||
[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
|
@ -1,49 +0,0 @@
|
||||
<?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>
|
||||
|
||||
<Wnd2>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-25565-17041</Identity>
|
||||
<TabName>Workspace</TabName>
|
||||
<Factory>Workspace</Factory>
|
||||
<Session>
|
||||
|
||||
<NodeDict><ExpandedNode>RTOSDemo</ExpandedNode></NodeDict></Session>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-4654-17433</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-7454-1824</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-32037-14096</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
|
||||
<Editor>
|
||||
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>60</YPos><SelStart>11655</SelStart><SelEnd>11655</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-01336518><key>iaridepm.enu1</key></Toolbar-01336518></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><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></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><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></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Workspace>
|
||||
|
||||
|
@ -0,0 +1,15 @@
|
||||
# This file should be kept if there is any C-STAT (Static Analysis Tool) custom selection
|
||||
RTOSDemo.ewt
|
||||
|
||||
# Files that are automatically regenerated by the IDE
|
||||
RTOSDemo.dep
|
||||
*.log
|
||||
|
||||
# Subdirectories that are automatically regenerated by the IDE
|
||||
settings
|
||||
QB_R5F10ELE_TB
|
||||
RSK*
|
||||
YR*
|
||||
|
||||
# Other stale files
|
||||
*.bak
|
@ -1,89 +0,0 @@
|
||||
;/*
|
||||
; * FreeRTOS V202112.00
|
||||
; * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
; *
|
||||
; * Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
; * this software and associated documentation files (the "Software"), to deal in
|
||||
; * the Software without restriction, including without limitation the rights to
|
||||
; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
; * the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
; * subject to the following conditions:
|
||||
; *
|
||||
; * The above copyright notice and this permission notice shall be included in all
|
||||
; * copies or substantial portions of the Software.
|
||||
; *
|
||||
; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
; *
|
||||
; * https://www.FreeRTOS.org
|
||||
; * https://aws.amazon.com/freertos
|
||||
; *
|
||||
; * 1 tab == 4 spaces!
|
||||
; */
|
||||
|
||||
;*
|
||||
; * This file defines the assembler wrapper for the example interrupt that is
|
||||
; * defined in main.c. The wrapper is the interrupt entry point.
|
||||
; *
|
||||
|
||||
; ISR_Support.h contains the definitions of portSAVE_CONTEXT() and
|
||||
; portRESTORE_CONTEXT().
|
||||
#include "ISR_Support.h"
|
||||
|
||||
PUBLIC vANExampleISR_ASM_Wrapper
|
||||
EXTERN vAnExampleISR_C_Handler
|
||||
|
||||
RSEG CODE:CODE
|
||||
|
||||
; *
|
||||
; * This demo does not include a functional interrupt service routine - so
|
||||
; * this dummy handler (which is not actually installed) is provided as an
|
||||
; * example of how an ISR that needs to cause a context switch needs to be
|
||||
; * implemented. ISRs that do not cause a context switch have no special
|
||||
; * requirements and can be written as per the compiler documentation.
|
||||
; *
|
||||
; * This assembly wrapper function calls the main handler, which is called
|
||||
; * vAnExampleISR_C_Handler(), and is implemented in main.c. See the
|
||||
; * documentation page for this demo on the FreeRTOS.org website for full
|
||||
; * instructions.
|
||||
; *
|
||||
; * NOTE: vANExampleISR_ASM_Wrapper needs to be installed into the relevant
|
||||
; * vector, an example of how to do this from an assembly file is locate at
|
||||
; * the bottom of this file.
|
||||
; *
|
||||
|
||||
vANExampleISR_ASM_Wrapper:
|
||||
|
||||
; portSAVE_CONTEXT() must be the first thing called in the ASM
|
||||
; wrapper.
|
||||
portSAVE_CONTEXT
|
||||
|
||||
; Once the context has been saved the C handler can be called.
|
||||
call !!vAnExampleISR_C_Handler
|
||||
|
||||
; Finally the ISR must end with a call to portRESTORE_CONTEXT()
|
||||
; followed by a reti instruction to return from the interrupt to whichever
|
||||
; task is now the task selected to run (which may be different to the task
|
||||
; that was running before the interrupt started).
|
||||
portRESTORE_CONTEXT
|
||||
reti
|
||||
|
||||
|
||||
; The interrupt handler can be installed into the vector table in the same
|
||||
; assembly file.
|
||||
|
||||
; Ensure the vector table segement is used.
|
||||
COMMON INTVEC:CODE:ROOT(1)
|
||||
;
|
||||
; Place a pointer to the asm wrapper at the correct index into the vector
|
||||
; table. Note 56 is used is purely as an example. The correct vector
|
||||
; number for the interrupt being installed must be used.
|
||||
ORG 58
|
||||
DW vANExampleISR_ASM_Wrapper
|
||||
|
||||
END
|
||||
|
@ -0,0 +1,182 @@
|
||||
# FreeRTOS for the Renesas RL78 microcontrollers
|
||||
|
||||
This directory contains an application that demonstrates the use of FreeRTOS on a [Renesas RL78 16-bit microcontroller](https://renesas.com/rl78) using the [IAR compiler](https://www.iar.com/ewrl78).
|
||||
|
||||
## Overview
|
||||
The demo project includes multiple _build configurations_. Each _build configuration_ is set for an evaluation board.
|
||||
|
||||
| __Build Configuration__ | __Description__ |
|
||||
| - | - |
|
||||
| [YRPBRL78G13][url-yrpbrl78g13] | Renesas Promotion Board RL78/G13 |
|
||||
| [YRPBRL78G14][url-yrpbrl78g14] | Renesas Promotion Board RL78/G14 |
|
||||
| [YRDKRL78G14][url-yrdkrl78g14] | Renesas Development Kit RL78/G14 |
|
||||
| [RSKRL78G1C][url-rskrl78g1c] | Renesas Starter Kit RL78/G1C |
|
||||
| [RSKRL78L13][url-rskrl78l13] | Renesas Starter Kit RL78/L13 |
|
||||
| [RSKRL78L1C][url-rskrl78l1c] | Renesas Starter Kit RL78/L1C |
|
||||
| [QB_R5F10ELE_TB][url-qb-r5f10ele-tb] | Renesas Target Board RL78/G1A |
|
||||
|
||||
<!-- links -->
|
||||
[url-yrpbrl78g13]: https://renesas.com/yrpbrl78g13
|
||||
[url-yrpbrl78g14]: https://renesas.com/yrpbrl78g14
|
||||
[url-yrdkrl78g14]: https://renesas.com/yrdkrl78g14
|
||||
[url-rskrl78g1c]: https://www.renesas.com/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78g1c-starter-kit-renesas-starter-kit-rl78g1c
|
||||
[url-rskrl78l13]: https://www.renesas.com/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78-l13-starter-kit-renesas-starter-kit-rl78l13
|
||||
[url-rskrl78l1c]: https://www.renesas.com/products/microcontrollers-microprocessors/rl78-low-power-8-16-bit-mcus/rl78-l1c-starter-kit-renesas-starter-kit-rl78l1c
|
||||
[url-qb-r5f10ele-tb]: https://renesas.com/qb-r5f10ele-tb
|
||||
|
||||
>:warning: This demo project requires __IAR Embedded Workbench for Renesas RL78__ (EWRL78) version __3.10.1 or later__.
|
||||
|
||||
|
||||
## Important notes
|
||||
Please read all the following sections before using this RTOS port.
|
||||
* [Source Code Organization](#source-code-organization)
|
||||
* [The Demo Application](#the-demo-application)
|
||||
* [Configuration and Usage Details](#configuration-and-usage-details)
|
||||
|
||||
>:bulb: See also the FAQ [My application does not run, what could be wrong?](https://www.freertos.org/FAQHelp.html)
|
||||
|
||||
|
||||
## Source Code Organization
|
||||
The FreeRTOS download contains the source code for all the FreeRTOS ports, so contains many more files than used by this demo.
|
||||
|
||||
>:bulb: See the [Source Code Organization](https://www.freertos.org/a00017.html) section for a description of the downloaded files and information on creating a new project.
|
||||
|
||||
## The Demo Application
|
||||
### Demo application hardware setup
|
||||
The demo application makes use of an LED that is mounted directly onto each of the supported hardware platforms. No hardware setup is required.
|
||||
|
||||
### Functionality
|
||||
`mainCREATE_SIMPLE_BLINKY_DEMO_ONLY` is defined in [main.c](https://github.com/FreeRTOS/FreeRTOS/blob/main/FreeRTOS/Demo/RL78_multiple_IAR/main.c). If `mainCREATE_SIMPLE_BLINKY_DEMO_ONLY` is set to __1__ then `main()` will call `main_blinky()`, which creates a simple 'blinky' style demo. If `mainCREATE_SIMPLE_BLINKY_DEMO_ONLY` is set to __0__ then `main()` will call `main_full()` which creates a more comprehensive demo.
|
||||
|
||||
### Functionality when `mainCREATE_SIMPLE_BLINKY_DEMO_ONLY` is set to 1
|
||||
`main_blinky()` creates one queue, and two tasks before starting the RTOS scheduler.
|
||||
|
||||
* The **"Queue Send"** Task:
|
||||
The queue send task is implemented by the `prvQueueSendTask()` function in __main_blinky.c__. `prvQueueSendTask()` sits in a loop that causes it to repeatedly block for 200 ms, before sending the value 100 to the queue that was created within `main_blinky()`. Once the value is sent, the task loops back around to block for another 200 ms, and so on.
|
||||
|
||||
* The **"Queue Receive"** Task:
|
||||
The queue receive task is implemented by the `prvQueueReceiveTask()` function in __main_blinky.c__. `prvQueueReceiveTask()` sits in a loop where it repeatedly blocks on attempts to read data from the queue that was created within `main_blinky()`, toggling an LED each time the value 100 is received.
|
||||
|
||||
The queue receive task will only leave the Blocked state when the queue send task writes to the queue. As the queue send task writes to the queue every 200 ms, the queue receive task leaves the Blocked state and toggles the LED every 200 ms.
|
||||
|
||||
|
||||
### Functionality when `mainCREATE_SIMPLE_BLINKY_DEMO_ONLY` is set to 0
|
||||
`main_full()` creates 13 tasks, 4 queues, and 2 software timers. Many of the tasks are from the set of standard demo tasks that are used with all the RTOS demos, and are documented on the [FreeRTOS.org](https://freertos.org) website.
|
||||
|
||||
The following tasks and timers are created in addition to the standard demo tasks.
|
||||
|
||||
* The __"Reg test"__ tasks:
|
||||
These fill the registers with known values, then check that each register still contains its expected value. Each task uses a different set of values. The reg test tasks execute with a very low priority, so get preempted very frequently. A register containing an unexpected value is indicative of an error in the context switching mechanism.
|
||||
|
||||
* The __"Demo"__ Software Timer and Callback Function:
|
||||
The demo software timer callback function does nothing more than increment a variable. The period of the demo timer is set relative to the period of the check timer (described below). This allows the check timer to know how many times the demo timer callback function should execute between each execution of the check timer callback function. The variable incremented in the demo timer callback function is used to determine how many times the callback function has executed.
|
||||
|
||||
* The __"Check"__ Software Timer and Callback Function:
|
||||
The check software timer period is initially set to 3 seconds. The check timer callback function checks that all the standard demo tasks, the reg test tasks, and the demo timer are not only still executing, but are executing without reporting any errors. If the check timer discovers that a task or timer has stalled, or reported an error, then it changes its own period from the initial 3 seconds, to just 200 ms.
|
||||
|
||||
The check timer callback function also toggles an LED each time it is called. This provides a visual indication of the system status: If the LED toggles every 3 seconds, then no issues have been discovered. If the LED toggles every 200 ms, then an issue has been discovered with at least one task.
|
||||
|
||||
|
||||
### Building the demo application
|
||||
1. Launch the __IAR Embedded Workbench for Renesas RL78__.
|
||||
2. In the menu, select __File__ → __Open Workspace__ and choose the __RTOSDemo.eww__ workspace.
|
||||
3. Use the drop-down list at the top of the Workspace window to select the _build configuration_ that is correct for the target hardware being used.
|
||||
4. Press <kbd>F7</kbd> to build the project. The project should build without any errors or warnings.
|
||||
|
||||
|
||||
### Programming the microcontroller and debugging
|
||||
1. Ensure the target board is connected to the host computer as appropriate. Some development boards include a built in __TK__ interface and only require a USB cable. Other boards require a __Renesas E1 Emulator__ (or later) debug interface.
|
||||
2. In the menu, select __Project__ → __Download and Debug__. When a debug session is launched for the first time in the EWRL78, a message will show up saying that the emulator has to be configured before downloading a new application. Click the __OK__ button to open the "Emulator Hardware Setup" window for the debug probe. The configuration window provides several options such as "Power supply" for when powering the evaluation board directly from the probe. Once the configuration is complete, the flash memory will be programmed and the program initialization will execute until the debugger breaks on the `main()` function entry point.
|
||||
|
||||
|
||||
## Configuration and Usage Details
|
||||
### RTOS port specific configuration
|
||||
Configuration items specific to this demo are contained in [FreeRTOSConfig.h](FreeRTOSConfig.h). The constants defined in this file can be edited to suit your application.
|
||||
Each port defines `BaseType_t` to equal the most efficient data type for that processor. This port defines `BaseType_t` to be of type `short`.
|
||||
|
||||
>:warning: `vPortEndScheduler()` has not been implemented.
|
||||
|
||||
### Memory models
|
||||
The FreeRTOS port will automatically switch between the __near__ and __far__ memory models, depending on the settings in the IAR project options.
|
||||
|
||||
This port has been tested with 2 memory model combinations, which are:
|
||||
| __Combination__ | __Code Model__ | __Data Model__ |
|
||||
| --------------- | -------------- | -------------- |
|
||||
| Combination 1 | NEAR | NEAR |
|
||||
| Combination 2 | FAR | FAR |
|
||||
|
||||
### Writing interrupt service routines
|
||||
Interrupt service routines that cannot cause a context switch have no special requirements and can be written as described by the IAR compiler documentation.
|
||||
Often you will require an interrupt service routine to cause a context switch. For example, a serial port character being received may unblock a high priority task that was blocked waiting for the character to arrive. If the unblocked task has a higher priority than the current task (the task that was interrupted by the ISR), then the ISR should return directly to the unblocked task. The use of the IAR tools necessitates such interrupt service routines are entered using an assembly file wrapper as it can be seen in the [interrupt_vector.s](interrupt_vector.s) file. An example is provided below, and another example is provided in [main.c](main.c).
|
||||
|
||||
|
||||
__Assembly wrapper__ in [interrupt_vector.s](interrupt_vector.s):
|
||||
```assembly
|
||||
; The portmacro.h header provides the portSAVE_CONTEXT() and
|
||||
; portRESTORE_context() macros.
|
||||
#include "portmacro.h"
|
||||
...
|
||||
PUBLIC _vAnExampleISR_ASM_Wrapper
|
||||
EXTERN _vAnExampleISR_C_Handler
|
||||
|
||||
SECTION `.text`:CODE
|
||||
_vAnExampleISR_ASM_Wrapper:
|
||||
portSAVE_CONTEXT ; The wrapped ISR must start with the portSAVE_CONTEXT() macro.
|
||||
|
||||
CALL _vAnExampleISR_C_Handler ; Once the context has been saved the C handler can be called.
|
||||
|
||||
portRESTORE_CONTEXT ; The wrapped ISR must end with the to portRESTORE_CONTEXT() macro.
|
||||
|
||||
RETI ; Returns from the interrupt to whichever task task is now the task selected
|
||||
; to run (which might differ from the task that was running before the ISR.
|
||||
...
|
||||
;-------------------------------------------------------------------------------
|
||||
; Place a pointer to the _vAnExampleISR_ASM_Wrapper at the correct index into
|
||||
; the interrupt vector table. This is an example for a ISR which needs context
|
||||
; switch.
|
||||
;
|
||||
; NOTE: 0x3A is used is purely as an example. The correct vector index for
|
||||
; the interrupt being installed must be used.
|
||||
;-------------------------------------------------------------------------------
|
||||
___interrupt_tab_0x3A:
|
||||
DATA16
|
||||
DC16 _vAnExampleISR_ASM_Wrapper
|
||||
;-------------------------------------------------------------------------------
|
||||
```
|
||||
|
||||
The C portion of the interrupt handler is just a standard C function.
|
||||
```c
|
||||
/* This standard C function is called from the assembly wrapper above. */
|
||||
void vISRHandler( void )
|
||||
{
|
||||
short sHigherPriorityTaskWoken = pdFALSE;
|
||||
|
||||
/* Handler code goes here, for purposes of demonstration, assume
|
||||
at some point the hander calls xSemaphoreGiveFromISR().*/
|
||||
xSemaphoreGiveFromISR( xSemaphore, &sHigherPriorityTaskWoken );
|
||||
|
||||
/* If giving the semaphore unblocked a task, and the unblocked task has a
|
||||
priority that is higher than the currently running task, then
|
||||
sHigherPriorityTaskWoken will have been set to pdTRUE. Passing a pdTRUE
|
||||
value to portYIELD_FROM_ISR() will cause this interrupt to return directly
|
||||
to the higher priority unblocked task. */
|
||||
portYIELD_FROM_ISR( sHigherPriorityTaskWoken );
|
||||
}
|
||||
```
|
||||
The C portion of the example interrupt handler.
|
||||
|
||||
|
||||
### Resources used by the RTOS kernel
|
||||
By default the RTOS kernel uses the RL78 Interval Timer peripheral to generate the RTOS tick. The application writer can modify the `vApplicationSetupTimerInterrupt()` in the [main.c]() such that their own tick interrupt configuration is used in place of the default.
|
||||
|
||||
>:warning: `vPortTickISR()` must be installed as the handler for which ever interrupt is used to generate the RTOS tick.
|
||||
|
||||
>:warning: The RTOS kernel also requires __exclusive__ use of the __BRK software interrupt__ instruction.
|
||||
|
||||
|
||||
### Compiler options
|
||||
As with all the ports, it is essential that the correct compiler options are used. The best way to ensure this is to base your application on the provided demo application files.
|
||||
|
||||
|
||||
### Memory allocation
|
||||
The [heap_1,c](https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/portable/MemMang/heap_1.c) is included in the demo application project to provide the memory allocation required by the RTOS kernel. Please refer to the [Memory Management](https://www.freertos.org/a00111.html) section of the API documentation for full information.
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,181 @@
|
||||
/*
|
||||
* FreeRTOS V202112.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
;
|
||||
; This file defines the RegTest tasks as described at the top of main.c
|
||||
;
|
||||
|
||||
; Functions implemented in this file
|
||||
;-------------------------------------------------------------------------------
|
||||
PUBLIC _vRegTest1Task
|
||||
PUBLIC _vRegTest2Task
|
||||
|
||||
; Functions and variables used by this file
|
||||
;-------------------------------------------------------------------------------
|
||||
EXTERN _vRegTestError
|
||||
EXTERN _usRegTest1LoopCounter
|
||||
EXTERN _usRegTest2LoopCounter
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; 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
|
||||
;
|
||||
;-------------------------------------------------------------------------------
|
||||
SECTION .text:CODE
|
||||
_vRegTest1Task:
|
||||
|
||||
; First fill the registers.
|
||||
MOVW AX, #0x1122
|
||||
MOVW BC, #0x3344
|
||||
MOVW DE, #0x5566
|
||||
MOVW HL, #0x7788
|
||||
MOV CS, #0x01
|
||||
|
||||
#if __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
; 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
|
||||
SKZ
|
||||
|
||||
; 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
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
MOVW AX, DE
|
||||
CMPW AX, #0x5566
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
MOVW AX, HL
|
||||
CMPW AX, #0x7788
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
MOV A, CS
|
||||
CMP A, #0x01
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
|
||||
#if __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
; 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
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
#endif
|
||||
|
||||
; Indicate that this task is still cycling.
|
||||
INCW _usRegTest1LoopCounter
|
||||
|
||||
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
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
SECTION .text:CODE
|
||||
_vRegTest2Task:
|
||||
|
||||
MOVW AX, #0x99aa
|
||||
MOVW BC, #0xbbcc
|
||||
MOVW DE, #0xddee
|
||||
MOVW HL, #0xff12
|
||||
MOV CS, #0x03
|
||||
|
||||
#if __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
MOV ES, #0x04
|
||||
#endif
|
||||
|
||||
loop2:
|
||||
CMPW AX, #0x99aa
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
MOVW AX, BC
|
||||
CMPW AX, #0xbbcc
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
MOVW AX, DE
|
||||
CMPW AX, #0xddee
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
MOVW AX, HL
|
||||
CMPW AX, #0xff12
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
MOV A, CS
|
||||
CMP A, #0x03
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
|
||||
#if __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
MOV A, ES
|
||||
CMP A, #0x04
|
||||
SKZ
|
||||
BR _vRegTestError
|
||||
#endif
|
||||
|
||||
; Indicate that this task is still cycling.
|
||||
INCW _usRegTest2LoopCounter
|
||||
|
||||
MOVW AX, #0x99aa
|
||||
BR loop2
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
END
|
@ -1,193 +0,0 @@
|
||||
;/*
|
||||
; * FreeRTOS V202112.00
|
||||
; * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
; *
|
||||
; * Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
; * this software and associated documentation files (the "Software"), to deal in
|
||||
; * the Software without restriction, including without limitation the rights to
|
||||
; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
; * the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
; * subject to the following conditions:
|
||||
; *
|
||||
; * The above copyright notice and this permission notice shall be included in all
|
||||
; * copies or substantial portions of the Software.
|
||||
; *
|
||||
; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
; *
|
||||
; * https://www.FreeRTOS.org
|
||||
; * https://aws.amazon.com/freertos
|
||||
; *
|
||||
; * 1 tab == 4 spaces!
|
||||
; */
|
||||
|
||||
|
||||
;
|
||||
; This file defines the RegTest tasks as described at the top of main.c
|
||||
;
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
|
||||
; Functions implemented in this file
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
PUBLIC vRegTest1Task
|
||||
PUBLIC vRegTest2Task
|
||||
|
||||
; Functions and variables used by this file
|
||||
;------------------------------------------------------------------------------
|
||||
EXTERN vRegTestError
|
||||
EXTERN usRegTest1LoopCounter
|
||||
EXTERN usRegTest2LoopCounter
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; 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
|
||||
vRegTest1Task:
|
||||
|
||||
; First fill the registers.
|
||||
MOVW AX, #0x1122
|
||||
MOVW BC, #0x3344
|
||||
MOVW DE, #0x5566
|
||||
MOVW HL, #0x7788
|
||||
MOV CS, #0x01
|
||||
|
||||
#if __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
|
||||
; 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
|
||||
SKZ
|
||||
|
||||
; 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
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
MOVW AX, DE
|
||||
CMPW AX, #0x5566
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
MOVW AX, HL
|
||||
CMPW AX, #0x7788
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
MOV A, CS
|
||||
CMP A, #0x01
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
|
||||
#if __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
|
||||
; 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
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
|
||||
#endif
|
||||
|
||||
; Indicate that this task is still cycling.
|
||||
INCW usRegTest1LoopCounter
|
||||
|
||||
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
|
||||
vRegTest2Task:
|
||||
|
||||
MOVW AX, #0x99aa
|
||||
MOVW BC, #0xbbcc
|
||||
MOVW DE, #0xddee
|
||||
MOVW HL, #0xff12
|
||||
MOV CS, #0x03
|
||||
|
||||
#if __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
|
||||
MOV ES, #0x04
|
||||
|
||||
#endif
|
||||
|
||||
loop2:
|
||||
CMPW AX, #0x99aa
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
MOVW AX, BC
|
||||
CMPW AX, #0xbbcc
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
MOVW AX, DE
|
||||
CMPW AX, #0xddee
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
MOVW AX, HL
|
||||
CMPW AX, #0xff12
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
MOV A, CS
|
||||
CMP A, #0x03
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
|
||||
#if __DATA_MODEL__ == __DATA_MODEL_FAR__
|
||||
|
||||
MOV A, ES
|
||||
CMP A, #0x04
|
||||
SKZ
|
||||
BR vRegTestError
|
||||
|
||||
#endif
|
||||
|
||||
; Indicate that this task is still cycling.
|
||||
INCW usRegTest2LoopCounter
|
||||
|
||||
MOVW AX, #0x99aa
|
||||
BR loop2
|
||||
|
||||
|
||||
END
|
@ -0,0 +1,515 @@
|
||||
;-------------------------------------------------------------------------------
|
||||
; This file contains an Interrupt Vector Table used by the
|
||||
; IAR C/C++ Compiler for RL78 version 3.xx or later.
|
||||
;
|
||||
; Modified for use with Amazon FreeRTOS.
|
||||
;
|
||||
; IAR Source License
|
||||
;
|
||||
; The following license agreement applies to linker command files,
|
||||
; example projects (unless another license is explicitly stated), the
|
||||
; cstartup code, low_level_init.c, and some other low-level runtime
|
||||
; library files.
|
||||
;
|
||||
; Copyright 2016-2022 IAR Systems AB.
|
||||
;
|
||||
; This source code is the property of IAR Systems. The source code may only
|
||||
; be used together with the IAR Embedded Workbench. Redistribution and use
|
||||
; in source and binary forms, with or without modification, is permitted
|
||||
; provided that the following conditions are met:
|
||||
;
|
||||
; - Redistributions of source code, in whole or in part, must retain the
|
||||
; above copyright notice, this list of conditions and the disclaimer below.
|
||||
;
|
||||
; - IAR Systems name may not be used to endorse or promote products
|
||||
; derived from this software without specific prior written permission.
|
||||
;
|
||||
; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
; WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
; MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
; ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
; WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
; ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
; OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
NAME _interrupt_vector_table
|
||||
|
||||
#if !defined(__IASMRL78__) || (__VER__ < 310)
|
||||
#error "This demo requires the IAR Assembler for RL78 version 3.10 or later."
|
||||
#endif
|
||||
|
||||
; The portmacro.h header provides the portSAVE_CONTEXT() and
|
||||
; portRESTORE_context() macros.
|
||||
#include "portmacro.h"
|
||||
|
||||
; Hardware includes.
|
||||
#include "demo_specific_io.h"
|
||||
|
||||
; The interrupt handler for the _vPortTickISR is installed according to the
|
||||
; address of INTIT_vect interrupt, defined in the `<ior5f1nnn.h>` header.
|
||||
EXTERN _vPortTickISR
|
||||
|
||||
; The interrupt handler for the _vPortYield is always installed in the address
|
||||
; of the BRK_I_vect interrupt, also defined in the `<ior5f1nnn.h>` header.
|
||||
EXTERN _vPortYield
|
||||
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; This demo does not include a functional ISR other the ones required by
|
||||
; FreeRTOS.
|
||||
;
|
||||
; ISRs that do not cause a context switch have no special requirements and
|
||||
; can be written as per compiler documentation.
|
||||
;
|
||||
; The Assembly wrapper uses a callback function named _vAnExampleISR_C_Handler
|
||||
; which is implemented in `main.c`. See the documentation page for this demo
|
||||
; on the FreeRTOS.prg website for full instructions.
|
||||
;
|
||||
; NOTE: vAnExampleISR_ASM_Wrapper needs to be installed into the relevant
|
||||
; vector in the Interrupt Vector Table below. For this example, it is
|
||||
; installed into the interrupt vector table under the address 0x3A.
|
||||
;-------------------------------------------------------------------------------
|
||||
PUBLIC _vAnExampleISR_ASM_Wrapper
|
||||
EXTERN _vAnExampleISR_C_Handler
|
||||
|
||||
SECTION `.text`:CODE
|
||||
_vAnExampleISR_ASM_Wrapper:
|
||||
portSAVE_CONTEXT ; The wrapped ISR must start with the portSAVE_CONTEXT() macro.
|
||||
|
||||
CALL _vAnExampleISR_C_Handler ; Once the context has been saved the C handler can be called.
|
||||
|
||||
portRESTORE_CONTEXT ; The wrapped ISR must end with the to portRESTORE_CONTEXT() macro.
|
||||
|
||||
RETI ; Returns from the interrupt to whichever task task is now the task selected
|
||||
; to run (which might differ from the task that was running before the ISR.
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
PUBLIC _interrupt_vector_table
|
||||
|
||||
EXTERN ___interrupt_0x00
|
||||
PUBLIC ___interrupt_tab_0x00
|
||||
EXTERN ___interrupt_0x04
|
||||
PUBLIC ___interrupt_tab_0x04
|
||||
EXTERN ___interrupt_0x06
|
||||
PUBLIC ___interrupt_tab_0x06
|
||||
EXTERN ___interrupt_0x08
|
||||
PUBLIC ___interrupt_tab_0x08
|
||||
EXTERN ___interrupt_0x0A
|
||||
PUBLIC ___interrupt_tab_0x0A
|
||||
EXTERN ___interrupt_0x0C
|
||||
PUBLIC ___interrupt_tab_0x0C
|
||||
EXTERN ___interrupt_0x0E
|
||||
PUBLIC ___interrupt_tab_0x0E
|
||||
EXTERN ___interrupt_0x10
|
||||
PUBLIC ___interrupt_tab_0x10
|
||||
EXTERN ___interrupt_0x12
|
||||
PUBLIC ___interrupt_tab_0x12
|
||||
EXTERN ___interrupt_0x14
|
||||
PUBLIC ___interrupt_tab_0x14
|
||||
EXTERN ___interrupt_0x16
|
||||
PUBLIC ___interrupt_tab_0x16
|
||||
EXTERN ___interrupt_0x18
|
||||
PUBLIC ___interrupt_tab_0x18
|
||||
EXTERN ___interrupt_0x1A
|
||||
PUBLIC ___interrupt_tab_0x1A
|
||||
EXTERN ___interrupt_0x1C
|
||||
PUBLIC ___interrupt_tab_0x1C
|
||||
EXTERN ___interrupt_0x1E
|
||||
PUBLIC ___interrupt_tab_0x1E
|
||||
EXTERN ___interrupt_0x20
|
||||
PUBLIC ___interrupt_tab_0x20
|
||||
EXTERN ___interrupt_0x22
|
||||
PUBLIC ___interrupt_tab_0x22
|
||||
EXTERN ___interrupt_0x24
|
||||
PUBLIC ___interrupt_tab_0x24
|
||||
EXTERN ___interrupt_0x26
|
||||
PUBLIC ___interrupt_tab_0x26
|
||||
EXTERN ___interrupt_0x28
|
||||
PUBLIC ___interrupt_tab_0x28
|
||||
EXTERN ___interrupt_0x2A
|
||||
PUBLIC ___interrupt_tab_0x2A
|
||||
EXTERN ___interrupt_0x2C
|
||||
PUBLIC ___interrupt_tab_0x2C
|
||||
EXTERN ___interrupt_0x2E
|
||||
PUBLIC ___interrupt_tab_0x2E
|
||||
EXTERN ___interrupt_0x30
|
||||
PUBLIC ___interrupt_tab_0x30
|
||||
EXTERN ___interrupt_0x32
|
||||
PUBLIC ___interrupt_tab_0x32
|
||||
EXTERN ___interrupt_0x34
|
||||
PUBLIC ___interrupt_tab_0x34
|
||||
EXTERN ___interrupt_0x36
|
||||
PUBLIC ___interrupt_tab_0x36
|
||||
EXTERN ___interrupt_0x38
|
||||
PUBLIC ___interrupt_tab_0x38
|
||||
EXTERN ___interrupt_0x3A
|
||||
PUBLIC ___interrupt_tab_0x3A
|
||||
EXTERN ___interrupt_0x3C
|
||||
PUBLIC ___interrupt_tab_0x3C
|
||||
EXTERN ___interrupt_0x3E
|
||||
PUBLIC ___interrupt_tab_0x3E
|
||||
EXTERN ___interrupt_0x40
|
||||
PUBLIC ___interrupt_tab_0x40
|
||||
EXTERN ___interrupt_0x42
|
||||
PUBLIC ___interrupt_tab_0x42
|
||||
EXTERN ___interrupt_0x44
|
||||
PUBLIC ___interrupt_tab_0x44
|
||||
EXTERN ___interrupt_0x46
|
||||
PUBLIC ___interrupt_tab_0x46
|
||||
EXTERN ___interrupt_0x48
|
||||
PUBLIC ___interrupt_tab_0x48
|
||||
EXTERN ___interrupt_0x4A
|
||||
PUBLIC ___interrupt_tab_0x4A
|
||||
EXTERN ___interrupt_0x4C
|
||||
PUBLIC ___interrupt_tab_0x4C
|
||||
EXTERN ___interrupt_0x4E
|
||||
PUBLIC ___interrupt_tab_0x4E
|
||||
EXTERN ___interrupt_0x50
|
||||
PUBLIC ___interrupt_tab_0x50
|
||||
EXTERN ___interrupt_0x52
|
||||
PUBLIC ___interrupt_tab_0x52
|
||||
EXTERN ___interrupt_0x54
|
||||
PUBLIC ___interrupt_tab_0x54
|
||||
EXTERN ___interrupt_0x56
|
||||
PUBLIC ___interrupt_tab_0x56
|
||||
EXTERN ___interrupt_0x58
|
||||
PUBLIC ___interrupt_tab_0x58
|
||||
EXTERN ___interrupt_0x5A
|
||||
PUBLIC ___interrupt_tab_0x5A
|
||||
EXTERN ___interrupt_0x5C
|
||||
PUBLIC ___interrupt_tab_0x5C
|
||||
EXTERN ___interrupt_0x5E
|
||||
PUBLIC ___interrupt_tab_0x5E
|
||||
EXTERN ___interrupt_0x60
|
||||
PUBLIC ___interrupt_tab_0x60
|
||||
EXTERN ___interrupt_0x62
|
||||
PUBLIC ___interrupt_tab_0x62
|
||||
EXTERN ___interrupt_0x64
|
||||
PUBLIC ___interrupt_tab_0x64
|
||||
EXTERN ___interrupt_0x66
|
||||
PUBLIC ___interrupt_tab_0x66
|
||||
EXTERN ___interrupt_0x68
|
||||
PUBLIC ___interrupt_tab_0x68
|
||||
EXTERN ___interrupt_0x6A
|
||||
PUBLIC ___interrupt_tab_0x6A
|
||||
EXTERN ___interrupt_0x6C
|
||||
PUBLIC ___interrupt_tab_0x6C
|
||||
EXTERN ___interrupt_0x6E
|
||||
PUBLIC ___interrupt_tab_0x6E
|
||||
EXTERN ___interrupt_0x70
|
||||
PUBLIC ___interrupt_tab_0x70
|
||||
EXTERN ___interrupt_0x72
|
||||
PUBLIC ___interrupt_tab_0x72
|
||||
EXTERN ___interrupt_0x74
|
||||
PUBLIC ___interrupt_tab_0x74
|
||||
EXTERN ___interrupt_0x76
|
||||
PUBLIC ___interrupt_tab_0x76
|
||||
EXTERN ___interrupt_0x78
|
||||
PUBLIC ___interrupt_tab_0x78
|
||||
EXTERN ___interrupt_0x7A
|
||||
PUBLIC ___interrupt_tab_0x7A
|
||||
EXTERN ___interrupt_0x7C
|
||||
PUBLIC ___interrupt_tab_0x7C
|
||||
EXTERN ___interrupt_0x7E
|
||||
PUBLIC ___interrupt_tab_0x7E
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; Reset Vector
|
||||
; The reset vector is placed in the `.reset` section.
|
||||
;-------------------------------------------------------------------------------
|
||||
SECTION `.reset`:CONST:ROOT(1)
|
||||
_interrupt_vector_table:
|
||||
___interrupt_tab_0x00:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x00
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; Interrupt Vector Table
|
||||
; The table is placed in the `.intvec` section.
|
||||
;-------------------------------------------------------------------------------
|
||||
SECTION `.intvec`:CONST:ROOT(1)
|
||||
___interrupt_tab_0x04:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x04
|
||||
|
||||
___interrupt_tab_0x06:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x06
|
||||
|
||||
___interrupt_tab_0x08:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x08
|
||||
|
||||
___interrupt_tab_0x0A:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x0A
|
||||
|
||||
___interrupt_tab_0x0C:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x0C
|
||||
|
||||
___interrupt_tab_0x0E:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x0E
|
||||
|
||||
___interrupt_tab_0x10:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x10
|
||||
|
||||
___interrupt_tab_0x12:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x12
|
||||
|
||||
___interrupt_tab_0x14:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x14
|
||||
|
||||
___interrupt_tab_0x16:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x16
|
||||
|
||||
___interrupt_tab_0x18:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x18
|
||||
|
||||
___interrupt_tab_0x1A:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x1A
|
||||
|
||||
___interrupt_tab_0x1C:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x1C
|
||||
|
||||
___interrupt_tab_0x1E:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x1E
|
||||
|
||||
___interrupt_tab_0x20:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x20
|
||||
|
||||
___interrupt_tab_0x22:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x22
|
||||
|
||||
___interrupt_tab_0x24:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x24
|
||||
|
||||
___interrupt_tab_0x26:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x26
|
||||
|
||||
___interrupt_tab_0x28:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x28
|
||||
|
||||
___interrupt_tab_0x2A:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x2A
|
||||
|
||||
___interrupt_tab_0x2C:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x2C
|
||||
|
||||
___interrupt_tab_0x2E:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x2E
|
||||
|
||||
___interrupt_tab_0x30:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x30
|
||||
|
||||
___interrupt_tab_0x32:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x32
|
||||
|
||||
___interrupt_tab_0x34:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x34
|
||||
|
||||
___interrupt_tab_0x36:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x36
|
||||
;-------------------------------------------------------------------------------
|
||||
; Install the _vPortTickISR handler for the RL78 devices where INTIT_vect==56.
|
||||
; Otherwise, installs the C Runtime Library default.
|
||||
;-------------------------------------------------------------------------------
|
||||
___interrupt_tab_0x38:
|
||||
DATA16
|
||||
#if (0x38 == INTIT_vect)
|
||||
DC16 _vPortTickISR
|
||||
#else
|
||||
DC16 ___interrupt_0x38
|
||||
#endif
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; Place a pointer to the _vAnExampleISR_ASM_Wrapper at the correct index into
|
||||
; the interrupt vector table. This is an example for a ISR which needs context
|
||||
; switch.
|
||||
;
|
||||
; NOTE: 0x3A is used is purely as an example. The correct vector index for
|
||||
; the interrupt being installed must be used.
|
||||
;-------------------------------------------------------------------------------
|
||||
___interrupt_tab_0x3A:
|
||||
DATA16
|
||||
DC16 _vAnExampleISR_ASM_Wrapper
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
;-------------------------------------------------------------------------------
|
||||
; Install the _vPortTickISR handler for the RL78 devices where INTIT_vect==60.
|
||||
; Otherwise, installs the C Runtime Library default.
|
||||
;-------------------------------------------------------------------------------
|
||||
___interrupt_tab_0x3C: ; --- INTIT_vect(?)
|
||||
DATA16
|
||||
#if (0x3C == INTIT_vect)
|
||||
DC16 _vPortTickISR
|
||||
#else
|
||||
DC16 ___interrupt_0x3C
|
||||
#endif
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
___interrupt_tab_0x3E:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x3E
|
||||
|
||||
___interrupt_tab_0x40:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x40
|
||||
|
||||
___interrupt_tab_0x42:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x42
|
||||
|
||||
___interrupt_tab_0x44:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x44
|
||||
|
||||
___interrupt_tab_0x46:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x46
|
||||
|
||||
___interrupt_tab_0x48:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x48
|
||||
|
||||
___interrupt_tab_0x4A:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x4A
|
||||
|
||||
___interrupt_tab_0x4C:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x4C
|
||||
|
||||
___interrupt_tab_0x4E:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x4E
|
||||
|
||||
___interrupt_tab_0x50:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x50
|
||||
|
||||
___interrupt_tab_0x52:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x52
|
||||
|
||||
___interrupt_tab_0x54:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x54
|
||||
|
||||
___interrupt_tab_0x56:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x56
|
||||
|
||||
___interrupt_tab_0x58:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x58
|
||||
|
||||
___interrupt_tab_0x5A:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x5A
|
||||
|
||||
___interrupt_tab_0x5C:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x5C
|
||||
|
||||
___interrupt_tab_0x5E:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x5E
|
||||
|
||||
___interrupt_tab_0x60:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x60
|
||||
|
||||
___interrupt_tab_0x62:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x62
|
||||
|
||||
___interrupt_tab_0x64:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x64
|
||||
|
||||
___interrupt_tab_0x66:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x66
|
||||
|
||||
___interrupt_tab_0x68:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x68
|
||||
|
||||
___interrupt_tab_0x6A:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x6A
|
||||
|
||||
___interrupt_tab_0x6C:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x6C
|
||||
|
||||
___interrupt_tab_0x6E:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x6E
|
||||
|
||||
___interrupt_tab_0x70:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x70
|
||||
|
||||
___interrupt_tab_0x72:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x72
|
||||
|
||||
___interrupt_tab_0x74:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x74
|
||||
|
||||
___interrupt_tab_0x76:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x76
|
||||
|
||||
___interrupt_tab_0x78:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x78
|
||||
|
||||
___interrupt_tab_0x7A:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x7A
|
||||
|
||||
___interrupt_tab_0x7C:
|
||||
DATA16
|
||||
DC16 ___interrupt_0x7C
|
||||
;-------------------------------------------------------------------------------
|
||||
; The BRK_I_vect (0x7E) is used by the RTOS context switch.
|
||||
;-------------------------------------------------------------------------------
|
||||
___interrupt_tab_0x7E:
|
||||
DATA16
|
||||
DC16 _vPortYield
|
||||
;-------------------------------------------------------------------------------
|
||||
|
||||
END
|
||||
;-------------------------------------------------------------------------------
|
@ -1,24 +0,0 @@
|
||||
@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 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
|
||||
@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
|
||||
@REM Read about available command line parameters in the C-SPY Debugging
|
||||
@REM Guide. Hints about additional command line parameters that may be
|
||||
@REM useful in specific cases:
|
||||
@REM --download_only Downloads a code image without starting a debug
|
||||
@REM session afterwards.
|
||||
@REM --silent Omits the sign-on message.
|
||||
@REM --timeout Limits the maximum allowed execution time.
|
||||
@REM
|
||||
|
||||
|
||||
"C:\devtools\IAR Systems\Embedded Workbench 6.5\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\bin\rl78proc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\bin\rl78ocd.dll" %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\bin\rl78bat.dll" --backend -B "--core" "rl78_2" "--near_const_location" "rom0" "--near_const_start" "0xf3000" "--near_const_size" "35.75" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\config\debugger\ior5f110pj.ddf" "-d" "e1"
|
||||
|
||||
|
@ -1,79 +0,0 @@
|
||||
<?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>255</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>1</CodeCovShow><InstrProfShow>1</InstrProfShow><col-names><item>Disassembly</item><item>_I0</item></col-names><col-widths><item>500</item><item>20</item></col-widths><DisasmHistory/><ShowCodeCoverage>0</ShowCodeCoverage><ShowInstrProfiling>0</ShowInstrProfiling></Disassembly>
|
||||
<STACK2><PreferedWindows><Position>1</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></STACK2><Register><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Register><WATCH_1><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><expressions><item/></expressions><col-names><item>Expression</item><item>Location</item><item>Type</item><item>Value</item></col-names><col-widths><item>179</item><item>150</item><item>100</item><item>100</item></col-widths></WATCH_1><CallStack><PreferedWindows><Position>1</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><col-names><item>Frame</item><item>_I0</item></col-names><col-widths><item>400</item><item>20</item></col-widths></CallStack><Breakpoints><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><col-names><item>Breakpoint</item><item>_I0</item></col-names><col-widths><item>500</item><item>35</item></col-widths></Breakpoints></Static>
|
||||
<Windows>
|
||||
|
||||
|
||||
|
||||
<Wnd0>
|
||||
<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></Wnd0><Wnd1>
|
||||
<Tabs>
|
||||
<Tab>
|
||||
<Identity>TabID-8606-17564</Identity>
|
||||
<TabName>Workspace</TabName>
|
||||
<Factory>Workspace</Factory>
|
||||
<Session>
|
||||
|
||||
<NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/Demo Source</ExpandedNode><ExpandedNode>RTOSDemo/Demo Source/StandardDemos</ExpandedNode><ExpandedNode>RTOSDemo/Demo Source/main_full.c</ExpandedNode><ExpandedNode>RTOSDemo/Kernel Source</ExpandedNode><ExpandedNode>RTOSDemo/Output</ExpandedNode></NodeDict></Session>
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
<SelectedTab>0</SelectedTab></Wnd1></Windows>
|
||||
<Editor>
|
||||
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main_full.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>241</YPos2><SelStart2>13257</SelStart2><SelEnd2>13257</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main_blinky.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>62</YPos2><SelStart2>10664</SelStart2><SelEnd2>10664</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\ExampleISR.s87</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>66</YPos2><SelStart2>4592</SelStart2><SelEnd2>4592</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\ISR_Support.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>142</YPos2><SelStart2>7176</SelStart2><SelEnd2>7176</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\tasks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>2220</YPos2><SelStart2>76534</SelStart2><SelEnd2>76534</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\Common\Minimal\dynamic.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>432</YPos2><SelStart2>17463</SelStart2><SelEnd2>17463</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>71</YPos2><SelStart2>5114</SelStart2><SelEnd2>5116</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\timers.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>461</YPos2><SelStart2>19747</SelStart2><SelEnd2>19747</SelEnd2></Tab><ActiveTab>8</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\RegTest.s87</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>168</YPos2><SelStart2>6068</SelStart2><SelEnd2>6068</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\portmacro.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>85</YPos2><SelStart2>5368</SelStart2><SelEnd2>5376</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||
<Positions>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Top><Row0><Sizes><Toolbar-029D9C80><key>iaridepm.enu1</key></Toolbar-029D9C80></Sizes></Row0><Row1><Sizes><Toolbar-142947E8><key>debuggergui.enu1</key></Toolbar-142947E8></Sizes></Row1><Row2><Sizes><Toolbar-14294A40><key>rl78ocd.enu1</key></Toolbar-14294A40></Sizes></Row2><Row3><Sizes/></Row3><Row4><Sizes/></Row4><Row5><Sizes/></Row5><Row6><Sizes/></Row6><Row7><Sizes/></Row7><Row8><Sizes/></Row8><Row9><Sizes/></Row9><Row10><Sizes/></Row10><Row11><Sizes/></Row11><Row12><Sizes/></Row12><Row13><Sizes/></Row13><Row14><Sizes/></Row14><Row15><Sizes/></Row15><Row16><Sizes/></Row16><Row17><Sizes/></Row17><Row18><Sizes/></Row18><Row19><Sizes/></Row19></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>615</Bottom><Right>345</Right><x>-2</x><y>-2</y><xscreen>9</xscreen><yscreen>8</yscreen><sizeHorzCX>5357</sizeHorzCX><sizeHorzCY>8130</sizeHorzCY><sizeVertCX>206548</sizeVertCX><sizeVertCY>627033</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>277</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>279</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>283537</sizeHorzCY><sizeVertCX>5357</sizeVertCX><sizeVertCY>8130</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Project>
|
||||
|
||||
|
@ -1,210 +0,0 @@
|
||||
[DebugChecksum]
|
||||
Checksum=-1598462895
|
||||
[DisAssemblyWindow]
|
||||
NumStates=_ 1
|
||||
State 1=_ 1
|
||||
[InstructionProfiling]
|
||||
Enabled=_ 0
|
||||
[CodeCoverage]
|
||||
Enabled=_ 0
|
||||
[E1]
|
||||
Map0=0,0,131071,131072
|
||||
Map1=1,1040128,1048319,8192
|
||||
MapEntries=2
|
||||
HWsettings=2,0,1,2,4,0,1,0,16,17,0
|
||||
HWsettingsCube=2,4294967295,2,4294967295,0,1,0,0
|
||||
HWsettingsRsuid=00000000000000000000
|
||||
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=128,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=DR5F10WMG.DVF
|
||||
EmulType=64
|
||||
BreakToggle=0
|
||||
EventLimits=0,1,1,0,0,0,1
|
||||
LastSetupFailed=0
|
||||
ForceHwSetup=0
|
||||
[StackPlugin]
|
||||
Enabled=1
|
||||
OverflowWarningsEnabled=1
|
||||
WarningThreshold=90
|
||||
SpWarningsEnabled=1
|
||||
WarnHow=0
|
||||
UseTrigger=1
|
||||
TriggerName=main
|
||||
LimitSize=0
|
||||
ByteLimit=50
|
||||
[TK]
|
||||
LastSetupFailed=0
|
||||
Map0=0,0,65535,65536
|
||||
Map1=1,1044224,1048319,4096
|
||||
MapEntries=2
|
||||
HWsettings=2,0,1,2,4,0,1,0,16,1,0
|
||||
HWsettingsCube=2,4294967295,2,4294967295,0,1,0,0
|
||||
HWsettingsRsuid=00000000000000000000
|
||||
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=128,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=256
|
||||
BreakToggle=0
|
||||
EventLimits=0,1,1,0,0,0,1
|
||||
ForceHwSetup=0
|
||||
[Stack]
|
||||
FillEnabled=0
|
||||
OverflowWarningsEnabled=1
|
||||
WarningThreshold=90
|
||||
SpWarningsEnabled=0
|
||||
WarnLogOnly=1
|
||||
UseTrigger=1
|
||||
TriggerName=main
|
||||
LimitSize=0
|
||||
ByteLimit=50
|
||||
[CallStack]
|
||||
ShowArgs=0
|
||||
[Disassembly]
|
||||
MixedMode=1
|
||||
[CallStackLog]
|
||||
Enabled=0
|
||||
[DataSample]
|
||||
LogEnabled=0
|
||||
GraphEnabled=0
|
||||
ShowTimeLog=1
|
||||
ShowTimeSum=1
|
||||
[Log file]
|
||||
LoggingEnabled=_ 0
|
||||
LogFile=_ ""
|
||||
Category=_ 0
|
||||
[TermIOLog]
|
||||
LoggingEnabled=_ 0
|
||||
LogFile=_ ""
|
||||
[TraceHelper]
|
||||
Enabled=0
|
||||
ShowSource=1
|
||||
[DriverProfiling]
|
||||
Enabled=0
|
||||
Mode=0
|
||||
Graph=0
|
||||
Symbiont=0
|
||||
Exclusions=
|
||||
[Breakpoints]
|
||||
Count=0
|
||||
[InterruptLog]
|
||||
LogEnabled=0
|
||||
SumEnabled=0
|
||||
GraphEnabled=0
|
||||
ShowTimeLog=1
|
||||
ShowTimeSum=1
|
||||
SumSortOrder=0
|
||||
[DataLog]
|
||||
LogEnabled=0
|
||||
SumEnabled=0
|
||||
GraphEnabled=0
|
||||
ShowTimeLog=1
|
||||
ShowTimeSum=1
|
||||
[Breakpoints2]
|
||||
Bp0=_ 0 "STD_CODE2" "{$PROJ_DIR$\RegTest.s87}.172.1" 0 0 1 "" 0 ""
|
||||
Bp1=_ 1 "STD_CODE2" "{$PROJ_DIR$\main_full.c}.346.2" 0 0 1 "" 0 ""
|
||||
Bp2=_ 1 "STD_CODE2" "{$PROJ_DIR$\main_full.c}.352.3" 0 0 1 "" 0 ""
|
||||
Count=3
|
||||
[Interrupts]
|
||||
Enabled=1
|
||||
[MemoryMap]
|
||||
Enabled=0
|
||||
Base=0
|
||||
UseAuto=0
|
||||
TypeViolation=1
|
||||
UnspecRange=1
|
||||
ActionState=1
|
||||
[Trace1]
|
||||
Enabled=0
|
||||
ShowSource=1
|
||||
[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
|
||||
[Simulator]
|
||||
Freq=10000000
|
@ -1,49 +0,0 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
|
||||
<Workspace>
|
||||
<ConfigDictionary>
|
||||
|
||||
<CurrentConfigs><Project>RTOSDemo/YRPBRL78G13</Project></CurrentConfigs></ConfigDictionary>
|
||||
<Desktop>
|
||||
<Static>
|
||||
<Workspace>
|
||||
<ColumnWidths>
|
||||
|
||||
|
||||
|
||||
|
||||
<Column0>369</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><Select-Ambiguous-Definitions><ColumnWidth0>580</ColumnWidth0><ColumnWidth1>82</ColumnWidth1><ColumnWidth2>994</ColumnWidth2></Select-Ambiguous-Definitions></Static>
|
||||
<Windows>
|
||||
|
||||
<Wnd2>
|
||||
<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></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-4654-17433</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-7454-1824</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-16124-30648</Identity><TabName>Ambiguous Definitions</TabName><Factory>Select-Ambiguous-Definitions</Factory><Session/></Tab><Tab><Identity>TabID-21155-6491</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
|
||||
<Editor>
|
||||
|
||||
|
||||
|
||||
|
||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>67</YPos2><SelStart2>7176</SelStart2><SelEnd2>7176</SelEnd2></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-029D9C80><key>iaridepm.enu1</key></Toolbar-029D9C80></Sizes></Row0><Row1><Sizes/></Row1><Row2><Sizes/></Row2><Row3><Sizes/></Row3><Row4><Sizes/></Row4><Row5><Sizes/></Row5><Row6><Sizes/></Row6><Row7><Sizes/></Row7><Row8><Sizes/></Row8><Row9><Sizes/></Row9><Row10><Sizes/></Row10><Row11><Sizes/></Row11><Row12><Sizes/></Row12><Row13><Sizes/></Row13><Row14><Sizes/></Row14><Row15><Sizes/></Row15><Row16><Sizes/></Row16><Row17><Sizes/></Row17><Row18><Sizes/></Row18><Row19><Sizes/></Row19><Row20><Sizes/></Row20><Row21><Sizes/></Row21></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>506</Bottom><Right>443</Right><x>-2</x><y>-2</y><xscreen>12633</xscreen><yscreen>8269</yscreen><sizeHorzCX>7519643</sizeHorzCX><sizeHorzCY>8403455</sizeHorzCY><sizeVertCX>264881</sizeVertCX><sizeVertCY>516260</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>434</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>436</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>443089</sizeHorzCY><sizeVertCX>9869643</sizeVertCX><sizeVertCY>10667683</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||
</Desktop>
|
||||
</Workspace>
|
||||
|
||||
|
Loading…
Reference in New Issue