Add an RX210 demo project.
parent
5182e65d0d
commit
4ec258f31c
@ -0,0 +1,4 @@
|
||||
[Setting]
|
||||
ToolChain=0
|
||||
[Section]
|
||||
WindowSize=726,544
|
@ -0,0 +1,48 @@
|
||||
[HIMDBVersion]
|
||||
2.0
|
||||
[DATABASE_VERSION]
|
||||
"11.0"
|
||||
[WORKSPACE_DETAILS]
|
||||
"RTOSDemo" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo.hws" "RX" "Renesas RX Standard"
|
||||
[SHARED_WORKSPACE_CONTROL_STATUS]
|
||||
"" "" ""
|
||||
"" "" ""
|
||||
[PROJECTS]
|
||||
"RTOSDemo" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\RTOSDemo.hwp" 0
|
||||
[INFORMATION]
|
||||
"No workspace information available"
|
||||
[SCRAP]
|
||||
[PROJECT_DEPENDENCY]
|
||||
[WORKSPACE_PROPERTIES]
|
||||
[HELP_FILES]
|
||||
"c:\devtools\renesas\hew\tools\renesas\rx\1_0_0\hew\stdlib.chm" "C/C++ Standard Library Help" 0
|
||||
"c:\devtools\renesas\hew\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0
|
||||
"c:\devtools\renesas\hew\tools\renesas\rx\1_1_0\hew\stdlib.chm" "C/C++ Standard Library Help" 1
|
||||
"c:\program files\renesas\hew\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0
|
||||
"c:\program files\renesas\hew\tools\renesas\rx\1_1_0\hew\stdlib.chm" "C/C++ Standard Library Help" 0
|
||||
"c:\program files\renesas\hew_002\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0
|
||||
"c:\program files\renesas\hew_rx210\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0
|
||||
"c:\program files\renesas\hewrx200\tools\renesas\rx\1_0_1\hew\stdlib.chm" "C/C++ Standard Library Help" 0
|
||||
[GENERAL_DATA_PROJECT]
|
||||
[USERMENUTOOLS]
|
||||
[CUSTOMPLACEHOLDERS]
|
||||
[MAKEFILE_BUILD_INFO]
|
||||
"$(WORKSPDIR)\make\$(PROJECTNAME)_$(CONFIGNAME).mak" "" "$(WORKSPDIR)\make" 0 0 0
|
||||
[VD_CONFIGURATION_OPTIONS]
|
||||
"ACTIVE_DESKTOP" "0"
|
||||
[VD_CONFIGURATIONS]
|
||||
"0" "Default1" "1"
|
||||
"1" "Default2" "1"
|
||||
"2" "Default3" "1"
|
||||
"3" "Default4" "1"
|
||||
[OPTIONS_DEBUG_TAB]
|
||||
0 0 0 0 0
|
||||
[VCS]
|
||||
"" "" "" 0
|
||||
[VCS_PROJECT]
|
||||
[MAKEFILE_ENV_STRINGS]
|
||||
[MAKEFILE_ENV_FLAGS]
|
||||
1 0 0
|
||||
[MAKEFILE_CLEAN_INFO]
|
||||
""
|
||||
[END]
|
@ -0,0 +1,13 @@
|
||||
[HIMDBVersion]
|
||||
2.0
|
||||
[DATABASE_VERSION]
|
||||
"1.2"
|
||||
[CURRENT_PROJECT]
|
||||
"RTOSDemo"
|
||||
[GENERAL_DATA]
|
||||
[BREAKPOINTS]
|
||||
[OPEN_WORKSPACE_FILES]
|
||||
[WORKSPACE_FILE_STATES]
|
||||
[LOADED_PROJECTS]
|
||||
"RTOSDemo"
|
||||
[END]
|
Binary file not shown.
@ -0,0 +1,106 @@
|
||||
[HIMDBVersion]
|
||||
2.0
|
||||
[DATABASE_VERSION]
|
||||
"2.3"
|
||||
[SESSION_DETAILS]
|
||||
""
|
||||
[INFORMATION]
|
||||
""
|
||||
[GENERAL_DATA]
|
||||
"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" ""
|
||||
"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0"
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" ""
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBreakpointFlag" "-1 "
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBreakpointStatus" "-1 "
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" ""
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" ""
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlSplitterPosition" "242"
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1"
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17"
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}"
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" ""
|
||||
"{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileDir" ""
|
||||
"{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileName" ""
|
||||
"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0"
|
||||
"{CBEBB610-1516-11D4-8F2D-00409545B67B}ElfDwarf2Objects" "1"
|
||||
"{CBEBB610-1516-11D4-8F2D-00409545B67B}LoadModule0OBJ_ELFDWARF2_ARRAY_EXPAND_LIMIT" "-1"
|
||||
"{CBEBB610-1516-11D4-8F2D-00409545B67B}LoadModule0OBJ_ELFDWARF2_STATIC_MEM_EXPAND" "1"
|
||||
[LANGUAGE]
|
||||
"English"
|
||||
[CONFIG_INFO_VD1]
|
||||
1
|
||||
[CONFIG_INFO_VD2]
|
||||
0
|
||||
[CONFIG_INFO_VD3]
|
||||
0
|
||||
[CONFIG_INFO_VD4]
|
||||
0
|
||||
[WINDOW_POSITION_STATE_DATA_VD1]
|
||||
"Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 289 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
|
||||
"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 206 560 340 350 200 18 0 "" "0.0"
|
||||
"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||||
"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||||
"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 1 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||||
"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 2 1 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 2 3 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||||
"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 1 6 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000028_RTOSDEBUG}" "TOOLBAR 0" 59419 2 2 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000029_SYSTEMTOOL}" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
[WINDOW_POSITION_STATE_DATA_VD2]
|
||||
[WINDOW_POSITION_STATE_DATA_VD3]
|
||||
[WINDOW_POSITION_STATE_DATA_VD4]
|
||||
[WINDOW_Z_ORDER]
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX600_RX62N_Renesas\RTOSDemo\RTOSDemo.c"
|
||||
[TARGET_NAME]
|
||||
"" "" 1229201492
|
||||
[STATUSBAR_STATEINFO_VD1]
|
||||
"MasterShowState" 1
|
||||
"ApplicationShowState" 1
|
||||
"DebuggerShowState" 1
|
||||
[STATUSBAR_STATEINFO_VD2]
|
||||
"MasterShowState" 1
|
||||
"ApplicationShowState" 1
|
||||
"DebuggerShowState" 1
|
||||
[STATUSBAR_STATEINFO_VD3]
|
||||
"MasterShowState" 1
|
||||
"ApplicationShowState" 1
|
||||
"DebuggerShowState" 1
|
||||
[STATUSBAR_STATEINFO_VD4]
|
||||
"MasterShowState" 1
|
||||
"ApplicationShowState" 1
|
||||
"DebuggerShowState" 1
|
||||
[STATUSBAR_DEBUGGER_PANESTATE_VD1]
|
||||
[STATUSBAR_DEBUGGER_PANESTATE_VD2]
|
||||
[STATUSBAR_DEBUGGER_PANESTATE_VD3]
|
||||
[STATUSBAR_DEBUGGER_PANESTATE_VD4]
|
||||
[DEBUGGER_OPTIONS]
|
||||
""
|
||||
[DOWNLOAD_MODULES]
|
||||
[CONNECT_ON_GO]
|
||||
"FALSE"
|
||||
[DOWNLOAD_MODULES_AFTER_BUILD]
|
||||
"TRUE"
|
||||
[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
|
||||
"FALSE"
|
||||
[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
|
||||
"FALSE"
|
||||
[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
|
||||
"FALSE"
|
||||
[DISABLE_MEMORY_ACCESS_DURING_EXECUTION]
|
||||
"FALSE"
|
||||
[DEBUGGER_OPTIONS_PROPERTIES]
|
||||
"1"
|
||||
[COMMAND_FILES]
|
||||
[DEFAULT_DEBUG_FORMAT]
|
||||
""
|
||||
[FLASH_DETAILS]
|
||||
"0.000000" 0 0 "" 0 "" 0 0 "" 1 1 0 0 0 0 0 "" "" "" "" ""
|
||||
[BREAKPOINTS]
|
||||
[END]
|
@ -0,0 +1,165 @@
|
||||
/*
|
||||
FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* If you are: *
|
||||
* *
|
||||
* + New to FreeRTOS, *
|
||||
* + Wanting to learn FreeRTOS or multitasking in general quickly *
|
||||
* + Looking for basic training, *
|
||||
* + Wanting to improve your FreeRTOS skills and productivity *
|
||||
* *
|
||||
* then take a look at the FreeRTOS books - available as PDF or paperback *
|
||||
* *
|
||||
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
|
||||
* http://www.FreeRTOS.org/Documentation *
|
||||
* *
|
||||
* A pdf reference manual is also available. Both are usually delivered *
|
||||
* to your inbox within 20 minutes to two hours when purchased between 8am *
|
||||
* and 8pm GMT (although please allow up to 24 hours in case of *
|
||||
* exceptional circumstances). Thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
***NOTE*** The exception to the GPL is included to allow you to distribute
|
||||
a combined work that includes FreeRTOS without being obliged to provide the
|
||||
source code for proprietary components outside of the FreeRTOS kernel.
|
||||
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, latest information, license and
|
||||
contact details.
|
||||
|
||||
http://www.SafeRTOS.com - A version that is certified for use in safety
|
||||
critical systems.
|
||||
|
||||
http://www.OpenRTOS.com - Commercial support, development, porting,
|
||||
licensing and training services.
|
||||
*/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
#define FREERTOS_CONFIG_H
|
||||
|
||||
/* Board specifics. */
|
||||
#include "rskrx62ndef.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.
|
||||
*----------------------------------------------------------*/
|
||||
|
||||
#define configUSE_PREEMPTION 1
|
||||
#define configUSE_IDLE_HOOK 0
|
||||
#define configUSE_TICK_HOOK 0
|
||||
#define configCPU_CLOCK_HZ ( ICLK_FREQUENCY ) /* Set in rskrx62ndef.h. */
|
||||
#define configPERIPHERAL_CLOCK_HZ ( PCLK_FREQUENCY ) /* Set in rskrx62ndef.h. */
|
||||
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
|
||||
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 140 )
|
||||
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 50 * 1024 ) )
|
||||
#define configMAX_TASK_NAME_LEN ( 12 )
|
||||
#define configUSE_TRACE_FACILITY 1
|
||||
#define configUSE_16_BIT_TICKS 0
|
||||
#define configIDLE_SHOULD_YIELD 1
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configUSE_MUTEXES 1
|
||||
#define configGENERATE_RUN_TIME_STATS 1
|
||||
#define configCHECK_FOR_STACK_OVERFLOW 2
|
||||
#define configUSE_RECURSIVE_MUTEXES 1
|
||||
#define configQUEUE_REGISTRY_SIZE 0
|
||||
#define configUSE_MALLOC_FAILED_HOOK 1
|
||||
#define configUSE_APPLICATION_TASK_TAG 0
|
||||
|
||||
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 7 )
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||
/* Software timer definitions. */
|
||||
#define configUSE_TIMERS 1
|
||||
#define configTIMER_TASK_PRIORITY ( 3 )
|
||||
#define configTIMER_QUEUE_LENGTH 5
|
||||
#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE )
|
||||
|
||||
/* The interrupt priority used by the kernel itself for the tick interrupt and
|
||||
the pended interrupt. This would normally be the lowest priority. */
|
||||
#define configKERNEL_INTERRUPT_PRIORITY 1
|
||||
|
||||
/* The maximum interrupt priority from which FreeRTOS API calls can be made.
|
||||
Interrupts that use a priority above this will not be effected by anything the
|
||||
kernel is doing. */
|
||||
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 4
|
||||
|
||||
/* The peripheral used to generate the tick interrupt is configured as part of
|
||||
the application code. This constant should be set to the vector number of the
|
||||
peripheral chosen. As supplied this is CMT0. */
|
||||
#define configTICK_VECTOR _CMT0_CMI0
|
||||
|
||||
/* 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 1
|
||||
#define INCLUDE_vTaskCleanUpResources 0
|
||||
#define INCLUDE_vTaskSuspend 1
|
||||
#define INCLUDE_vTaskDelayUntil 1
|
||||
#define INCLUDE_vTaskDelay 1
|
||||
#define INCLUDE_uxTaskGetStackHighWaterMark 1
|
||||
#define INCLUDE_xTaskGetSchedulerState 1
|
||||
|
||||
#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
|
||||
extern volatile unsigned long ulHighFrequencyTickCount;
|
||||
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() nop() /* Run time stats use the same timer as the high frequency timer test. */
|
||||
#define portGET_RUN_TIME_COUNTER_VALUE() ulHighFrequencyTickCount
|
||||
|
||||
|
||||
/* Override some of the priorities set in the common demo tasks. This is
|
||||
required to ensure flase positive timing errors are not reported. */
|
||||
#define bktPRIMARY_PRIORITY ( configMAX_PRIORITIES - 3 )
|
||||
#define bktSECONDARY_PRIORITY ( configMAX_PRIORITIES - 4 )
|
||||
#define intqHIGHER_PRIORITY ( configMAX_PRIORITIES - 3 )
|
||||
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
* Ethernet configuration.
|
||||
*-----------------------------------------------------------*/
|
||||
|
||||
/* MAC address configuration. */
|
||||
#define configMAC_ADDR0 0x00
|
||||
#define configMAC_ADDR1 0x12
|
||||
#define configMAC_ADDR2 0x13
|
||||
#define configMAC_ADDR3 0x10
|
||||
#define configMAC_ADDR4 0x15
|
||||
#define configMAC_ADDR5 0x11
|
||||
|
||||
/* IP address configuration. */
|
||||
#define configIP_ADDR0 192
|
||||
#define configIP_ADDR1 168
|
||||
#define configIP_ADDR2 0
|
||||
#define configIP_ADDR3 200
|
||||
|
||||
/* Netmask configuration. */
|
||||
#define configNET_MASK0 255
|
||||
#define configNET_MASK1 255
|
||||
#define configNET_MASK2 255
|
||||
#define configNET_MASK3 0
|
||||
|
||||
#endif /* FREERTOS_CONFIG_H */
|
@ -0,0 +1,170 @@
|
||||
/*
|
||||
FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* If you are: *
|
||||
* *
|
||||
* + New to FreeRTOS, *
|
||||
* + Wanting to learn FreeRTOS or multitasking in general quickly *
|
||||
* + Looking for basic training, *
|
||||
* + Wanting to improve your FreeRTOS skills and productivity *
|
||||
* *
|
||||
* then take a look at the FreeRTOS books - available as PDF or paperback *
|
||||
* *
|
||||
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
|
||||
* http://www.FreeRTOS.org/Documentation *
|
||||
* *
|
||||
* A pdf reference manual is also available. Both are usually delivered *
|
||||
* to your inbox within 20 minutes to two hours when purchased between 8am *
|
||||
* and 8pm GMT (although please allow up to 24 hours in case of *
|
||||
* exceptional circumstances). Thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
***NOTE*** The exception to the GPL is included to allow you to distribute
|
||||
a combined work that includes FreeRTOS without being obliged to provide the
|
||||
source code for proprietary components outside of the FreeRTOS kernel.
|
||||
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, latest information, license and
|
||||
contact details.
|
||||
|
||||
http://www.SafeRTOS.com - A version that is certified for use in safety
|
||||
critical systems.
|
||||
|
||||
http://www.OpenRTOS.com - Commercial support, development, porting,
|
||||
licensing and training services.
|
||||
*/
|
||||
|
||||
/*
|
||||
* High frequency timer test as described in main.c.
|
||||
*/
|
||||
|
||||
/* Scheduler includes. */
|
||||
#include "FreeRTOS.h"
|
||||
|
||||
/* Hardware specifics. */
|
||||
#include "iodefine.h"
|
||||
|
||||
/* The set frequency of the interrupt. Deviations from this are measured as
|
||||
the jitter. */
|
||||
#define timerINTERRUPT_FREQUENCY ( 20000UL )
|
||||
|
||||
/* The expected time between each of the timer interrupts - if the jitter was
|
||||
zero. */
|
||||
#define timerEXPECTED_DIFFERENCE_VALUE ( ( unsigned short ) ( ( configPERIPHERAL_CLOCK_HZ / 8UL ) / timerINTERRUPT_FREQUENCY ) )
|
||||
|
||||
/* The highest available interrupt priority. */
|
||||
#define timerHIGHEST_PRIORITY ( 15 )
|
||||
|
||||
/* Misc defines. */
|
||||
#define timerTIMER_3_COUNT_VALUE ( *( ( unsigned short * ) 0x8801a ) ) /*( CMT3.CMCNT )*/
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* Interrupt handler in which the jitter is measured. */
|
||||
static void prvTimer2IntHandler( void );
|
||||
|
||||
/* Stores the value of the maximum recorded jitter between interrupts. This is
|
||||
displayed on one of the served web pages. */
|
||||
volatile unsigned short usMaxJitter = 0;
|
||||
|
||||
/* Counts the number of high frequency interrupts - used to generate the run
|
||||
time stats. */
|
||||
volatile unsigned long ulHighFrequencyTickCount = 0UL;
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vSetupHighFrequencyTimer( void )
|
||||
{
|
||||
/* Timer CMT2 is used to generate the interrupts, and CMT3 is used
|
||||
to measure the jitter. */
|
||||
|
||||
/* Enable compare match timer 2 and 3. */
|
||||
MSTP( CMT2 ) = 0;
|
||||
MSTP( CMT3 ) = 0;
|
||||
|
||||
/* Interrupt on compare match. */
|
||||
CMT2.CMCR.BIT.CMIE = 1;
|
||||
|
||||
/* Set the compare match value. */
|
||||
CMT2.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / timerINTERRUPT_FREQUENCY ) -1 ) / 8 );
|
||||
|
||||
/* Divide the PCLK by 8. */
|
||||
CMT2.CMCR.BIT.CKS = 0;
|
||||
CMT3.CMCR.BIT.CKS = 0;
|
||||
|
||||
/* Enable the interrupt... */
|
||||
_IEN( _CMT2_CMI2 ) = 1;
|
||||
|
||||
/* ...and set its priority to the maximum possible, this is above the priority
|
||||
set by configMAX_SYSCALL_INTERRUPT_PRIORITY so will nest. */
|
||||
_IPR( _CMT2_CMI2 ) = timerHIGHEST_PRIORITY;
|
||||
|
||||
/* Start the timers. */
|
||||
CMT.CMSTR1.BIT.STR2 = 1;
|
||||
CMT.CMSTR1.BIT.STR3 = 1;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#pragma interrupt ( prvTimer2IntHandler( vect = _VECT( _CMT2_CMI2 ), enable ) )
|
||||
static void prvTimer2IntHandler( void )
|
||||
{
|
||||
volatile unsigned short usCurrentCount;
|
||||
static unsigned short usMaxCount = 0;
|
||||
static unsigned long ulErrorCount = 0UL;
|
||||
|
||||
/* We use the timer 1 counter value to measure the clock cycles between
|
||||
the timer 0 interrupts. First stop the clock. */
|
||||
CMT.CMSTR1.BIT.STR3 = 0;
|
||||
nop();
|
||||
nop();
|
||||
usCurrentCount = timerTIMER_3_COUNT_VALUE;
|
||||
|
||||
/* Is this the largest count we have measured yet? */
|
||||
if( usCurrentCount > usMaxCount )
|
||||
{
|
||||
if( usCurrentCount > timerEXPECTED_DIFFERENCE_VALUE )
|
||||
{
|
||||
usMaxJitter = usCurrentCount - timerEXPECTED_DIFFERENCE_VALUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* This should not happen! */
|
||||
ulErrorCount++;
|
||||
}
|
||||
|
||||
usMaxCount = usCurrentCount;
|
||||
}
|
||||
|
||||
/* Used to generate the run time stats. */
|
||||
ulHighFrequencyTickCount++;
|
||||
|
||||
/* Clear the timer. */
|
||||
timerTIMER_3_COUNT_VALUE = 0;
|
||||
|
||||
/* Then start the clock again. */
|
||||
CMT.CMSTR1.BIT.STR3 = 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,143 @@
|
||||
/*
|
||||
FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* If you are: *
|
||||
* *
|
||||
* + New to FreeRTOS, *
|
||||
* + Wanting to learn FreeRTOS or multitasking in general quickly *
|
||||
* + Looking for basic training, *
|
||||
* + Wanting to improve your FreeRTOS skills and productivity *
|
||||
* *
|
||||
* then take a look at the FreeRTOS books - available as PDF or paperback *
|
||||
* *
|
||||
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
|
||||
* http://www.FreeRTOS.org/Documentation *
|
||||
* *
|
||||
* A pdf reference manual is also available. Both are usually delivered *
|
||||
* to your inbox within 20 minutes to two hours when purchased between 8am *
|
||||
* and 8pm GMT (although please allow up to 24 hours in case of *
|
||||
* exceptional circumstances). Thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
***NOTE*** The exception to the GPL is included to allow you to distribute
|
||||
a combined work that includes FreeRTOS without being obliged to provide the
|
||||
source code for proprietary components outside of the FreeRTOS kernel.
|
||||
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, latest information, license and
|
||||
contact details.
|
||||
|
||||
http://www.SafeRTOS.com - A version that is certified for use in safety
|
||||
critical systems.
|
||||
|
||||
http://www.OpenRTOS.com - Commercial support, development, porting,
|
||||
licensing and training services.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file contains the non-portable and therefore RX62N specific parts of
|
||||
* the IntQueue standard demo task - namely the configuration of the timers
|
||||
* that generate the interrupts and the interrupt entry points.
|
||||
*/
|
||||
|
||||
/* Scheduler includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
|
||||
/* Demo includes. */
|
||||
#include "IntQueueTimer.h"
|
||||
#include "IntQueue.h"
|
||||
|
||||
/* Hardware specifics. */
|
||||
#include "iodefine.h"
|
||||
|
||||
#define tmrTIMER_0_1_FREQUENCY ( 2000UL )
|
||||
#define tmrTIMER_2_3_FREQUENCY ( 2001UL )
|
||||
|
||||
void vInitialiseTimerForIntQueueTest( void )
|
||||
{
|
||||
/* Ensure interrupts do not start until full configuration is complete. */
|
||||
portENTER_CRITICAL();
|
||||
{
|
||||
/* Cascade two 8bit timer channels to generate the interrupts.
|
||||
8bit timer unit 1 (TMR0 and TMR1) and 8bit timer unit 2 (TMR2 and TMR3 are
|
||||
utilised for this test. */
|
||||
|
||||
/* Enable the timers. */
|
||||
SYSTEM.MSTPCRA.BIT.MSTPA5 = 0;
|
||||
SYSTEM.MSTPCRA.BIT.MSTPA4 = 0;
|
||||
|
||||
/* Enable compare match A interrupt request. */
|
||||
TMR0.TCR.BIT.CMIEA = 1;
|
||||
TMR2.TCR.BIT.CMIEA = 1;
|
||||
|
||||
/* Clear the timer on compare match A. */
|
||||
TMR0.TCR.BIT.CCLR = 1;
|
||||
TMR2.TCR.BIT.CCLR = 1;
|
||||
|
||||
/* Set the compare match value. */
|
||||
TMR01.TCORA = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / tmrTIMER_0_1_FREQUENCY ) -1 ) / 8 );
|
||||
TMR23.TCORA = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / tmrTIMER_0_1_FREQUENCY ) -1 ) / 8 );
|
||||
|
||||
/* 16 bit operation ( count from timer 1,2 ). */
|
||||
TMR0.TCCR.BIT.CSS = 3;
|
||||
TMR2.TCCR.BIT.CSS = 3;
|
||||
|
||||
/* Use PCLK as the input. */
|
||||
TMR1.TCCR.BIT.CSS = 1;
|
||||
TMR3.TCCR.BIT.CSS = 1;
|
||||
|
||||
/* Divide PCLK by 8. */
|
||||
TMR1.TCCR.BIT.CKS = 2;
|
||||
TMR3.TCCR.BIT.CKS = 2;
|
||||
|
||||
/* Enable TMR 0, 2 interrupts. */
|
||||
IEN( TMR0, CMIA0 ) = 1;
|
||||
IEN( TMR2, CMIA2 ) = 1;
|
||||
|
||||
/* Set the timer interrupts to be above the kernel. The interrupts are
|
||||
assigned different priorities so they nest with each other. */
|
||||
IPR( TMR0, CMIA0 ) = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
|
||||
IPR( TMR2, CMIA2 ) = ( configMAX_SYSCALL_INTERRUPT_PRIORITY - 2 );
|
||||
}
|
||||
portEXIT_CRITICAL();
|
||||
|
||||
/* Ensure the interrupts are clear as they are edge detected. */
|
||||
IR( TMR0, CMIA0 ) = 0;
|
||||
IR( TMR2, CMIA2 ) = 0;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#pragma interrupt ( vT0_1InterruptHandler( vect = VECT_TMR0_CMIA0, enable ) )
|
||||
void vT0_1InterruptHandler( void )
|
||||
{
|
||||
portYIELD_FROM_ISR( xFirstTimerHandler() );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#pragma interrupt ( vT2_3InterruptHandler( vect = VECT_TMR2_CMIA2, enable ) )
|
||||
void vT2_3InterruptHandler( void )
|
||||
{
|
||||
portYIELD_FROM_ISR( xSecondTimerHandler() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,201 @@
|
||||
/*
|
||||
FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* If you are: *
|
||||
* *
|
||||
* + New to FreeRTOS, *
|
||||
* + Wanting to learn FreeRTOS or multitasking in general quickly *
|
||||
* + Looking for basic training, *
|
||||
* + Wanting to improve your FreeRTOS skills and productivity *
|
||||
* *
|
||||
* then take a look at the FreeRTOS books - available as PDF or paperback *
|
||||
* *
|
||||
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
|
||||
* http://www.FreeRTOS.org/Documentation *
|
||||
* *
|
||||
* A pdf reference manual is also available. Both are usually delivered *
|
||||
* to your inbox within 20 minutes to two hours when purchased between 8am *
|
||||
* and 8pm GMT (although please allow up to 24 hours in case of *
|
||||
* exceptional circumstances). Thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
***NOTE*** The exception to the GPL is included to allow you to distribute
|
||||
a combined work that includes FreeRTOS without being obliged to provide the
|
||||
source code for proprietary components outside of the FreeRTOS kernel.
|
||||
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, latest information, license and
|
||||
contact details.
|
||||
|
||||
http://www.SafeRTOS.com - A version that is certified for use in safety
|
||||
critical systems.
|
||||
|
||||
http://www.OpenRTOS.com - Commercial support, development, porting,
|
||||
licensing and training services.
|
||||
*/
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
* Simple IO routines to control the LEDs.
|
||||
*-----------------------------------------------------------*/
|
||||
|
||||
/* Scheduler includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
|
||||
/* Demo includes. */
|
||||
#include "partest.h"
|
||||
|
||||
/* Hardware specifics. */
|
||||
#include "iodefine.h"
|
||||
|
||||
#define partestNUM_LEDS ( 4 )
|
||||
|
||||
long lParTestGetLEDState( unsigned long ulLED );
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vParTestInitialise( void )
|
||||
{
|
||||
/* Port pin configuration is done by the low level set up prior to this
|
||||
function being called. */
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vParTestSetLED( unsigned long ulLED, signed long xValue )
|
||||
{
|
||||
if( ulLED < partestNUM_LEDS )
|
||||
{
|
||||
if( xValue != 0 )
|
||||
{
|
||||
/* Turn the LED on. */
|
||||
taskENTER_CRITICAL();
|
||||
{
|
||||
switch( ulLED )
|
||||
{
|
||||
case 0: LED0 = LED_ON;
|
||||
break;
|
||||
case 1: LED1 = LED_ON;
|
||||
break;
|
||||
case 2: LED2 = LED_ON;
|
||||
break;
|
||||
case 3: LED3 = LED_ON;
|
||||
break;
|
||||
// case 4: LED4 = LED_ON;
|
||||
// break;
|
||||
// case 5: LED5 = LED_ON;
|
||||
// break;
|
||||
}
|
||||
}
|
||||
taskEXIT_CRITICAL();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Turn the LED off. */
|
||||
taskENTER_CRITICAL();
|
||||
{
|
||||
switch( ulLED )
|
||||
{
|
||||
case 0: LED0 = LED_OFF;
|
||||
break;
|
||||
case 1: LED1 = LED_OFF;
|
||||
break;
|
||||
case 2: LED2 = LED_OFF;
|
||||
break;
|
||||
case 3: LED3 = LED_OFF;
|
||||
break;
|
||||
// case 4: LED4 = LED_OFF;
|
||||
// break;
|
||||
// case 5: LED5 = LED_OFF;
|
||||
// break;
|
||||
}
|
||||
|
||||
}
|
||||
taskEXIT_CRITICAL();
|
||||
}
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vParTestToggleLED( unsigned long ulLED )
|
||||
{
|
||||
if( ulLED < partestNUM_LEDS )
|
||||
{
|
||||
taskENTER_CRITICAL();
|
||||
{
|
||||
if( lParTestGetLEDState( ulLED ) != 0x00 )
|
||||
{
|
||||
vParTestSetLED( ulLED, 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
vParTestSetLED( ulLED, 1 );
|
||||
}
|
||||
}
|
||||
taskEXIT_CRITICAL();
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
long lParTestGetLEDState( unsigned long ulLED )
|
||||
{
|
||||
long lReturn = pdTRUE;
|
||||
|
||||
if( ulLED < partestNUM_LEDS )
|
||||
{
|
||||
switch( ulLED )
|
||||
{
|
||||
case 0 : if( LED0 != 0 )
|
||||
{
|
||||
lReturn = pdFALSE;
|
||||
}
|
||||
break;
|
||||
case 1 : if( LED1 != 0 )
|
||||
{
|
||||
lReturn = pdFALSE;
|
||||
}
|
||||
break;
|
||||
case 2 : if( LED2 != 0 )
|
||||
{
|
||||
lReturn = pdFALSE;
|
||||
}
|
||||
break;
|
||||
case 3 : if( LED3 != 0 )
|
||||
{
|
||||
lReturn = pdFALSE;
|
||||
}
|
||||
break;
|
||||
// case 4 : if( LED4 != 0 )
|
||||
// {
|
||||
// lReturn = pdFALSE;
|
||||
// }
|
||||
// break;
|
||||
// case 5 : if( LED5 != 0 )
|
||||
// {
|
||||
// lReturn = pdFALSE;
|
||||
// }
|
||||
// break;
|
||||
}
|
||||
}
|
||||
|
||||
return lReturn;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
|
@ -0,0 +1,561 @@
|
||||
[HIMDBVersion]
|
||||
2.0
|
||||
[DATABASE_VERSION]
|
||||
"2.8"
|
||||
[PROJECT_DETAILS]
|
||||
"RTOSDemo" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\RTOSDemo.hwp" "RX" "Renesas RX Standard" "Application" "RX600" "Other"
|
||||
[INFORMATION]
|
||||
"No project information available"
|
||||
[TOOL_CHAIN]
|
||||
"Renesas RX Standard Toolchain" "1.1.0.0"
|
||||
[CONFIGURATIONS]
|
||||
"Blinky" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Blinky"
|
||||
"Debug" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Debug"
|
||||
"Debug_RX600_E1_E20_SYSTEM" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Debug_RX600_E1_E20_SYSTEM"
|
||||
"Debug_with_optimisation" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Debug_with_optimisation"
|
||||
"SimDebug_RX600" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\SimDebug_RX600"
|
||||
[BUILD_PHASES]
|
||||
"Renesas OptLinker" 1
|
||||
"Renesas RX Assembler" 1
|
||||
"Renesas RX C/C++ Compiler" 1
|
||||
"Renesas RX C/C++ Library Generator" 1
|
||||
"Renesas RX Configurator" 1
|
||||
[TOOL_ENVIRONMENT]
|
||||
[EXTENSIONS]
|
||||
"Absolute file" "ABS"
|
||||
"Assembly include file" "INC"
|
||||
"Assembly list file" "LST"
|
||||
"Assembly source file" "S"
|
||||
"Assembly source file" "SRC"
|
||||
"Binary file" "BIN"
|
||||
"C header file" "H"
|
||||
"C source file" "C"
|
||||
"C++ header file" "HPP"
|
||||
"C++ source file" "CC"
|
||||
"C++ source file" "CP"
|
||||
"C++ source file" "CPP"
|
||||
"CPU information file" "CPU"
|
||||
"Calling information file" "CAL"
|
||||
"Configuration file" "CFG"
|
||||
"Debug information file" "DBG"
|
||||
"Hex file" "HEX"
|
||||
"Library file" "LIB"
|
||||
"Library information file" "LBP"
|
||||
"Linkage map file" "MAP"
|
||||
"Linkage symbol file" "FSY"
|
||||
"Object file" "OBJ"
|
||||
"Optimize map file" "bls"
|
||||
"Preprocessed C source file" "P"
|
||||
"Preprocessed C++ source file" "PP"
|
||||
"Relocatable file" "REL"
|
||||
"Rts information file" "RTS"
|
||||
"S-Record file" "MOT"
|
||||
"Stack information file" "SNI"
|
||||
"TD include object file" "RTI"
|
||||
[FILE_GROUPS]
|
||||
"Absolute file" "BIN" "NONE" ""
|
||||
"Assembly include file" "TEXT" "EDITOR" ""
|
||||
"Assembly list file" "TEXT" "EDITOR" ""
|
||||
"Assembly source file" "TEXT" "EDITOR" ""
|
||||
"Binary file" "BIN" "NONE" ""
|
||||
"C header file" "TEXT" "EDITOR" ""
|
||||
"C source file" "TEXT" "EDITOR" ""
|
||||
"C++ header file" "TEXT" "EDITOR" ""
|
||||
"C++ source file" "TEXT" "EDITOR" ""
|
||||
"CPU information file" "BIN" "NONE" ""
|
||||
"Calling information file" "BIN" "NONE" ""
|
||||
"Configuration file" "TEXT" "EDITOR" ""
|
||||
"Debug information file" "BIN" "NONE" ""
|
||||
"Hex file" "TEXT" "EDITOR" ""
|
||||
"Library file" "BIN" "NONE" ""
|
||||
"Library information file" "TEXT" "EDITOR" ""
|
||||
"Linkage map file" "TEXT" "EDITOR" ""
|
||||
"Linkage symbol file" "TEXT" "EDITOR" ""
|
||||
"Object file" "BIN" "NONE" ""
|
||||
"Optimize map file" "BIN" "NONE" ""
|
||||
"Preprocessed C source file" "TEXT" "EDITOR" ""
|
||||
"Preprocessed C++ source file" "TEXT" "EDITOR" ""
|
||||
"Relocatable file" "BIN" "NONE" ""
|
||||
"Rts information file" "BIN" "NONE" ""
|
||||
"S-Record file" "TEXT" "EDITOR" ""
|
||||
"Stack information file" "BIN" "NONE" ""
|
||||
"TD include object file" "BIN" "NONE" ""
|
||||
[ASSOCIATED_APPLICATIONS]
|
||||
[TOOLCHAIN_PHASE]
|
||||
"Renesas OptLinker"
|
||||
"Renesas RX Assembler"
|
||||
"Renesas RX C/C++ Compiler"
|
||||
"Renesas RX C/C++ Library Generator"
|
||||
"Renesas RX Configurator"
|
||||
[UTILITY_PHASE]
|
||||
[CUSTOM_PHASES]
|
||||
[CUSTOM_PHASE_INPUT_GROUP]
|
||||
[CUSTOM_PHASE_OUTPUT_SYNTAX]
|
||||
[BUILD_ORDER]
|
||||
"Renesas RX C/C++ Library Generator" 1
|
||||
"Renesas RX C/C++ Compiler" 1
|
||||
"Renesas RX Assembler" 1
|
||||
"Renesas OptLinker" 1
|
||||
"Renesas RX Configurator" 0
|
||||
[BUILD_PHASE_DETAILS]
|
||||
"Renesas OptLinker" "Object file|Library file|Relocatable file" 0
|
||||
"Renesas RX Assembler" "Assembly source file|Linkage symbol file" 1
|
||||
"Renesas RX C/C++ Compiler" "C source file|C++ source file" 1
|
||||
"Renesas RX C/C++ Library Generator" "" 0
|
||||
"Renesas RX Configurator" "Configuration file" 0
|
||||
[BUILD_FILE_ORDER_Assembly source file]
|
||||
"Renesas RX Assembler" 1
|
||||
[BUILD_FILE_ORDER_C source file]
|
||||
"Renesas RX C/C++ Compiler" 1
|
||||
[BUILD_FILE_ORDER_C++ source file]
|
||||
"Renesas RX C/C++ Compiler" 1
|
||||
[BUILD_FILE_ORDER_Linkage symbol file]
|
||||
"Renesas RX Assembler" 1
|
||||
[SCRAP]
|
||||
"Project Generator Setup File" ""
|
||||
[MAPPINGS]
|
||||
"Assembly source file" "Renesas RX Assembler" "Renesas RX C/C++ Compiler"
|
||||
"Library file" "Renesas OptLinker" "Renesas RX C/C++ Library Generator"
|
||||
"Object file" "Renesas OptLinker" "Renesas RX Assembler"
|
||||
"Object file" "Renesas OptLinker" "Renesas RX C/C++ Compiler"
|
||||
[PROJECT_FILES]
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "User" "C source file|Common demo tasks" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "User" "C source file" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "User" "C source file" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "User" "C source file" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "User" "C source file|Renesas Files" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "User" "C source file|Renesas Files" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "User" "C source file|Renesas Files" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "User" "C source file|Renesas Files" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "User" "C source file|Renesas Files" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "User" "C source file|Renesas Files" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "User" "C source file|Renesas Files" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "User" "C source file|Renesas Files" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "User" "C source file" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "User" "C source file" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "User" "C source file" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "User" "C source file|FreeRTOS" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "User" "C source file|FreeRTOS|Portable layer" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "User" "C source file|FreeRTOS|Portable layer" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "User" "Assembly source file" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "User" "C source file|FreeRTOS" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "User" "C source file|FreeRTOS" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "User" "C source file" 2
|
||||
[FOLDER]
|
||||
"Assembly source file" "Assembly source file"
|
||||
"C header file" "C header file"
|
||||
"C source file" "C source file"
|
||||
"C source file|Common demo tasks" ""
|
||||
"C source file|FreeRTOS" ""
|
||||
"C source file|FreeRTOS|Portable layer" ""
|
||||
"C source file|Renesas Files" ""
|
||||
[GENERAL_DATA_PROJECT]
|
||||
"FDT_AutoConnect" "0"
|
||||
"FDT_BaseDevice" ""
|
||||
"FDT_BaudRate" ""
|
||||
"FDT_BlockLockConnect" "1"
|
||||
"FDT_BlockLockDisconnect" "1"
|
||||
"FDT_BootMode" "FALSE"
|
||||
"FDT_CKM" "0"
|
||||
"FDT_CKP" "0"
|
||||
"FDT_ClockMode" "0"
|
||||
"FDT_ClockSync" "00000000"
|
||||
"FDT_Comments" ""
|
||||
"FDT_ConnectionResetSuppression" "FFFFFFFF"
|
||||
"FDT_Device" ""
|
||||
"FDT_DoReadbackVerification" ""
|
||||
"FDT_DoSecurityProtection" ""
|
||||
"FDT_DoSecurityProtectionLevel" ""
|
||||
"FDT_Frequency" "0.0000"
|
||||
"FDT_Interface" ""
|
||||
"FDT_InternalClock" "FALSE"
|
||||
"FDT_KernelPath" ""
|
||||
"FDT_KernelResident" "FALSE"
|
||||
"FDT_McuId" "0"
|
||||
"FDT_MessageLevel" "0"
|
||||
"FDT_PinOutputs" "00000000"
|
||||
"FDT_PinSettings" "00000000"
|
||||
"FDT_Port" ""
|
||||
"FDT_Protection" "0"
|
||||
"FDT_Protocol" ""
|
||||
"FDT_ReinterrogateGenericDevice" ""
|
||||
"FDT_ResetOnDisconnect" ""
|
||||
"FDT_ResetPinOutputs" "00000000"
|
||||
"FDT_ResetPinSettings" "00000000"
|
||||
"FDT_SerNumConfigString" ""
|
||||
"FDT_SerNumDllFunction" ""
|
||||
"FDT_SerNumDllLocation" ""
|
||||
"FDT_SerNumEnabled" "FALSE"
|
||||
"FDT_SerNumMemArea" ""
|
||||
"FDT_UPMPinSettings" "00000000"
|
||||
"FDT_UseDefaultBaudRate" "FALSE"
|
||||
"FDT_UseInternalKernel" "TRUE"
|
||||
"FDT_UserPinOutputs" "00000000"
|
||||
"FDT_UserPinSettings" "00000000"
|
||||
"MAKEGEN_GENERATE_MAKEFILE_FOR" "0"
|
||||
"MAKEGEN_MAKEFILE_FORMAT" "2"
|
||||
"MAKEGEN_MAKEFILE_RELATIVITY" "1"
|
||||
"MAKEGEN_SCAN_DEPENDENCIES_WHILST_BUILDING_MAKEFILE" "1"
|
||||
"MAKEGEN_USE_STATIC_SUBCOMMAND_FILES" "1"
|
||||
"USE_CUSTOM_LINKAGE_ORDER" "0"
|
||||
[ON_DEMAND_COMPONENTS_LOADED]
|
||||
[SYNC_SESSION_NAMES]
|
||||
[SESSIONS]
|
||||
"DefaultSession" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\DefaultSession.hsf" 0
|
||||
"SessionRX200_E1_E20_SYSTEM" "C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\SessionRX200_E1_E20_SYSTEM.hsf" 0
|
||||
[GENERAL_DATA_SESSION_DefaultSession]
|
||||
[GENERAL_DATA_SESSION_SessionRX200_E1_E20_SYSTEM]
|
||||
[OPTIONS_Blinky_Renesas OptLinker]
|
||||
"Single Shot" "0d0f2119b896cc10" 5
|
||||
[OPTIONS_Blinky_Renesas RX Assembler]
|
||||
"Assembly source file" "0fe42629efb3cc10" 4
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0fe42629efb3cc10" 4
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "0e2e6019b896cc10" 4
|
||||
"Linkage symbol file" "0fe42629efb3cc10" 4
|
||||
[OPTIONS_Blinky_Renesas RX C/C++ Compiler]
|
||||
"C source file" "0c9d1629efb3cc10" 2
|
||||
"C++ source file" "0c9d1629efb3cc10" 3
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "0e2e6019b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0c9d1629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0c9d1629efb3cc10" 2
|
||||
[OPTIONS_Blinky_Renesas RX C/C++ Library Generator]
|
||||
"Single Shot" "0c9d1629efb3cc10" 1
|
||||
[OPTIONS_Blinky_Renesas RX Configurator]
|
||||
"Single Shot" "0e2e6019b896cc10" 6
|
||||
[OPTIONS_Blinky]
|
||||
"" 0
|
||||
"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6
|
||||
"[V|VERSION|1] [B|SJIS|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1]
|
||||
" 4
|
||||
"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\webserver^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]
|
||||
" 3
|
||||
"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\webserver^"] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]
|
||||
" 2
|
||||
"[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [B|NOFLOAT|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX600] [S|BASE|00000000=NONE] [B|SKIPDEPENDENCY|1]
|
||||
" 1
|
||||
"[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(0FFF81000)|FIXEDVECT(0FFFFFFD0)] [B|SKIPDEPENDENCY|1]
|
||||
" 5
|
||||
[EXCLUDED_FILES_Blinky]
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c"
|
||||
[LINKAGE_ORDER_Blinky]
|
||||
[GENERAL_DATA_CONFIGURATION_Blinky]
|
||||
[OPTIONS_Debug_Renesas OptLinker]
|
||||
"Single Shot" "0d0f2119b896cc10" 5
|
||||
[OPTIONS_Debug_Renesas RX Assembler]
|
||||
"Assembly source file" "0fddf529efb3cc10" 4
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0fddf529efb3cc10" 4
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "0e2e6019b896cc10" 4
|
||||
"Linkage symbol file" "0fddf529efb3cc10" 4
|
||||
[OPTIONS_Debug_Renesas RX C/C++ Compiler]
|
||||
"C source file" "0c86f529efb3cc10" 2
|
||||
"C++ source file" "0c86f529efb3cc10" 3
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "0e2e6019b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0c86f529efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0c86f529efb3cc10" 2
|
||||
[OPTIONS_Debug_Renesas RX C/C++ Library Generator]
|
||||
"Single Shot" "0c86f529efb3cc10" 1
|
||||
[OPTIONS_Debug_Renesas RX Configurator]
|
||||
"Single Shot" "0e2e6019b896cc10" 6
|
||||
[OPTIONS_Debug]
|
||||
"" 0
|
||||
"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6
|
||||
"[V|VERSION|1] [B|SJIS|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
|
||||
" 4
|
||||
"[V|VERSION|1] [S|LANG|C99] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
|
||||
" 2
|
||||
"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX600^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [S|OPTIMIZE|0] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
|
||||
" 3
|
||||
"[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX600] [S|BASE|00000000=NONE]
|
||||
" 1
|
||||
"[V|VERSION|6] [S|PRELINK|SKIP] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODALL|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [B|OPTIMIZE|0] [S|START|B_RX_DESC,B_TX_DESC,B_ETHERNET_BUFFERS,B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(0FFF81000)|FIXEDVECT(0FFFFFFD0)]
|
||||
" 5
|
||||
[EXCLUDED_FILES_Debug]
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src"
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c"
|
||||
[LINKAGE_ORDER_Debug]
|
||||
[GENERAL_DATA_CONFIGURATION_Debug]
|
||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas OptLinker]
|
||||
"Single Shot" "0d0f2119b896cc10" 5
|
||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX Assembler]
|
||||
"Assembly source file" "0ab81629efb3cc10" 4
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0ab81629efb3cc10" 4
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "0e2e6019b896cc10" 4
|
||||
"Linkage symbol file" "0ab81629efb3cc10" 4
|
||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX C/C++ Compiler]
|
||||
"C source file" "07611629efb3cc10" 2
|
||||
"C++ source file" "07611629efb3cc10" 3
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "0e2e6019b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "07611629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "07611629efb3cc10" 2
|
||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX C/C++ Library Generator]
|
||||
"Single Shot" "07611629efb3cc10" 1
|
||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM_Renesas RX Configurator]
|
||||
"Single Shot" "0e2e6019b896cc10" 6
|
||||
[OPTIONS_Debug_RX600_E1_E20_SYSTEM]
|
||||
"" 0
|
||||
"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|ROUND|NEAREST] [S|DBL_SIZE|4] [B|SIGNED_CHAR|0] [B|SIGNED_BITFIELD|0] [S|BIT_ORDER|RIGHT] [S|FINT_REGISTER|0] [S|BRANCH|24] [S|LANG|C] [B|RUNTIME|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|NEW|1] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|BUILD/CHANGED]" 1
|
||||
"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6
|
||||
"[V|VERSION|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|LISTFILE|0] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 4
|
||||
"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
|
||||
" 3
|
||||
"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
|
||||
" 2
|
||||
"[V|VERSION|6] [B|DEBUG|1] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).abs^"] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [B|OPTIMIZE|0] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|FORM|STYPE] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(1000)|PResetPRG(FFFF8000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(FFFF8100)|FIXEDVECT(FFFFFFD0)] [S|ENDIAN|LITTLE]" 5
|
||||
[EXCLUDED_FILES_Debug_RX600_E1_E20_SYSTEM]
|
||||
[LINKAGE_ORDER_Debug_RX600_E1_E20_SYSTEM]
|
||||
[GENERAL_DATA_CONFIGURATION_Debug_RX600_E1_E20_SYSTEM]
|
||||
[OPTIONS_Debug_with_optimisation_Renesas OptLinker]
|
||||
"Single Shot" "0d0f2119b896cc10" 5
|
||||
[OPTIONS_Debug_with_optimisation_Renesas RX Assembler]
|
||||
"Assembly source file" "0d348e39e796cc10" 4
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "0d348e39e796cc10" 4
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "0e2e6019b896cc10" 4
|
||||
"Linkage symbol file" "0d348e39e796cc10" 4
|
||||
[OPTIONS_Debug_with_optimisation_Renesas RX C/C++ Compiler]
|
||||
"C source file" "0b8cd057b896cc10" 2
|
||||
"C++ source file" "0b8cd057b896cc10" 3
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "0e2e6019b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "0b8cd057b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "0b8cd057b896cc10" 2
|
||||
[OPTIONS_Debug_with_optimisation_Renesas RX C/C++ Library Generator]
|
||||
"Single Shot" "0d348e39e796cc10" 1
|
||||
[OPTIONS_Debug_with_optimisation_Renesas RX Configurator]
|
||||
"Single Shot" "0e2e6019b896cc10" 6
|
||||
[OPTIONS_Debug_with_optimisation]
|
||||
"" 0
|
||||
"[V|VERSION|1] [B|COMMAND|1] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|SPEC|UITRON4] [S|CPU|RX200] [S|BASE|00000000=NONE]
|
||||
" 6
|
||||
"[V|VERSION|1] [B|SJIS|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [S|CPU|RX200] [S|BASE|00000000=NONE] [I|PID|16] [B|SKIPDEPENDENCY|1]
|
||||
" 4
|
||||
"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX200^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINE|INCLUDE_HIGH_FREQUENCY_TIMER_TEST=1] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|LISTFILE|1] [S|LISTFILEPATH|^"$(CONFIGDIR)\$(FILELEAF).lst^"] [S|SHOW|SOURCE|CONDITIONALS|DEFINITIONS|EXPANSIONS] [S|OPTIMIZE|MAX] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [B|FPU|0] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX200] [S|BASE|00000000=NONE] [I|PID|16] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]
|
||||
" 3
|
||||
"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|INCLUDE|^"$(PROJDIR)\..\..\..\Source\portable\Renesas\RX200^"|^"$(PROJDIR)\..\..\..\Source\include^"|^"$(PROJDIR)\.^"|^"$(PROJDIR)\..\..\include^"|^"$(PROJDIR)\..\..\Common\include^"|^"$(PROJDIR)\.\include^"|^"$(PROJDIR)\..\..\Common\ethernet\FreeTCPIP^"|^"$(PROJDIR)\webserver^"] [S|DEFINE|INCLUDE_HIGH_FREQUENCY_TIMER_TEST=1] [S|CHANGE_MESSAGE|INFORMATION|] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|LISTFILE|1] [S|LISTFILEPATH|^"$(CONFIGDIR)\$(FILELEAF).lst^"] [S|SHOW|SOURCE|CONDITIONALS|DEFINITIONS|EXPANSIONS] [S|OPTIMIZE|MAX] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [B|FPU|0] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX200] [S|BASE|00000000=NONE] [I|PID|16] [B|SKIPDEPENDENCY|1] [N|DEPENDSCAN|1]
|
||||
" 2
|
||||
"[V|VERSION|1] [S|MODE|BUILD/CHANGED] [S|EXISTOUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|RUNTIME|1] [B|MATH|1] [B|STDIO|1] [B|STDLIB|1] [B|STRING|1] [B|NOFLOAT|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [B|SIZE|1] [I|INLINE|100] [I|LOOP|2] [S|CPU|RX200] [S|BASE|00000000=NONE] [I|PID|16] [B|SKIPDEPENDENCY|1]
|
||||
" 1
|
||||
"[V|VERSION|6] [S|FORM|STYPE] [S|BYTE_COUNT_VALUE|FF] [B|DEBUG|1] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|CRC|NONE|DEFAULT|00000000] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [S|SHOW|METHODCUSTOM|] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [I|SPACE|^"FF^"] [S|OPTIMIZEITEMS|SPEED] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(01000)|PResetPRG(0FFF80000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*,L(0FFF81000)|FIXEDVECT(0FFFFFFD0)] [B|SKIPDEPENDENCY|1]
|
||||
" 5
|
||||
[EXCLUDED_FILES_Debug_with_optimisation]
|
||||
[LINKAGE_ORDER_Debug_with_optimisation]
|
||||
[GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]
|
||||
[OPTIONS_SimDebug_RX600_Renesas OptLinker]
|
||||
"Single Shot" "0d0f2119b896cc10" 5
|
||||
[OPTIONS_SimDebug_RX600_Renesas RX Assembler]
|
||||
"Assembly source file" "041a0629efb3cc10" 4
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowlvl.src" "041a0629efb3cc10" 4
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port_asm.src" "0e2e6019b896cc10" 4
|
||||
"Linkage symbol file" "041a0629efb3cc10" 4
|
||||
[OPTIONS_SimDebug_RX600_Renesas RX C/C++ Compiler]
|
||||
"C source file" "02350629efb3cc10" 2
|
||||
"C++ source file" "02350629efb3cc10" 3
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\BlockQ.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\GenQTest.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\IntQueue.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\PollQ.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\QPeek.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\blocktim.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\death.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\flash.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\integer.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\recmutex.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\Common\Minimal\semtest.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\HighFrequencyTimerTest.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\IntQueueTimer.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\ParTest.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\dbsct.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\hwsetup.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\intprg.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\lowsrc.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\resetprg.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\sbrk.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Renesas-Files\vecttbl.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\lcd.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\main-full.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\switches.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\list.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\MemMang\heap_2.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\portable\Renesas\RX200\port.c" "0e2e6019b896cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\queue.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\tasks.c" "02350629efb3cc10" 2
|
||||
"C:\E\Dev\FreeRTOS\WorkingCopy\Source\timers.c" "02350629efb3cc10" 2
|
||||
[OPTIONS_SimDebug_RX600_Renesas RX C/C++ Library Generator]
|
||||
"Single Shot" "01c20629efb3cc10" 1
|
||||
[OPTIONS_SimDebug_RX600_Renesas RX Configurator]
|
||||
"Single Shot" "0e2e6019b896cc10" 6
|
||||
[OPTIONS_SimDebug_RX600]
|
||||
"" 0
|
||||
"[S|OUTPUTPATH|^"$(CONFIGDIR)\$(PROJECTNAME).lib^"] [V|VERSION|1] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|ROUND|NEAREST] [S|DBL_SIZE|4] [B|SIGNED_CHAR|0] [B|SIGNED_BITFIELD|0] [S|BIT_ORDER|RIGHT] [S|FINT_REGISTER|0] [S|BRANCH|24] [S|LANG|C] [B|RUNTIME|1] [B|CTYPE|0] [B|MATH|0] [B|MATHF|0] [B|STDARG|0] [B|STDIO|0] [B|STDLIB|0] [B|STRING|0] [B|IOS|0] [B|NEW|1] [B|COMPLEX|0] [B|CPPSTRING|0] [S|MODE|BUILD/CHANGED]" 1
|
||||
"[V|VERSION|1] [B|COMMAND|1] [S|SPEC|UITRON4] [S|OUTPUTPATH|^"$(CONFIGDIR)^"] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 6
|
||||
"[V|VERSION|1] [B|DEBUG|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|LISTFILE|0] [S|CPU|RX600] [S|ENDIAN|LITTLE] [S|FINT_REGISTER|0]" 4
|
||||
"[V|VERSION|1] [S|LANG|CPP] [B|SJIS|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
|
||||
" 3
|
||||
"[V|VERSION|1] [S|LANG|C] [B|SJIS|1] [S|OUTPUTPATH|^"$(CONFIGDIR)\$(FILELEAF).obj^"] [B|DEBUG|1] [B|SIZE|1] [B|MAP|0] [I|INLINE|100] [I|LOOP|2] [S|MISRA2004_CHECK_RULE|ALL] [S|MISRA2004_RULE|1.1|3.4|4.1|5.2|5.3|5.4|5.5|5.6|5.7|6.1|6.2|6.3|6.4|6.5|7.1|8.1|8.2|8.3|8.5|8.6|8.7|8.8|8.11|8.12|9.2|9.3|10.1|10.2|10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.4|11.5|12.1|12.2|12.3|12.4|12.5|12.6|12.7|12.8|12.9|12.10|12.11|12.12|12.13|13.1|13.2|13.3|13.4|13.7|14.1|14.2|14.3|14.4|14.5|14.6|14.7|14.8|14.9|14.10|15.1|15.2|15.3|15.4|15.5|16.1|16.2|16.3|16.4|16.5|16.6|16.8|16.9|17.3|17.4|17.5|17.6|18.1|18.2|18.4|19.1|20.2|20.4|20.5|20.7|20.8|20.9|20.10|20.11|20.12] [S|MISRA1998_CHECK_RULE|ALL] [S|MISRA1998_RULE|1|5|8|12|13|14|17|18|19|20|21|22|24|28|29|31|32|33|34|35|36|37|38|39|40|42|43|44|45|46|48|49|50|51|53|54|55|56|57|58|59|60|61|62|63|64|65|68|69|70|71|72|73|74|75|76|77|78|79|80|82|83|84|85|99|101|102|103|104|105|106|108|110|111|112|113|115|118|119|121|122|123|124|125|126|127] [S|MISRA_GROUP_FILE_PATH|^"$(PROJDIR)\$(PROJECTNAME).rde^"] [S|CPU|RX600] [S|BASE|00000000=NONE]
|
||||
" 2
|
||||
"[V|VERSION|6] [B|DEBUG|1] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).abs^"] [B|LIST|1] [S|LIST|^"$(CONFIGDIR)\$(PROJECTNAME).map^"] [B|OPTIMIZE|0] [S|ROM|(D,R)|(D_1,R_1)|(D_2,R_2)] [S|FORM|STYPE] [S|OUTPUT|^"$(CONFIGDIR)\$(PROJECTNAME).mot^"] [S|START|B_1,R_1,B_2,R_2,B,R,SU,SI(1000)|PResetPRG(FFFF8000)|C_1,C_2,C,C$*,D*,P,PIntPRG,W*(FFFF8100)|FIXEDVECT(FFFFFFD0)] [S|ENDIAN|LITTLE]" 5
|
||||
[EXCLUDED_FILES_SimDebug_RX600]
|
||||
[LINKAGE_ORDER_SimDebug_RX600]
|
||||
[GENERAL_DATA_CONFIGURATION_SimDebug_RX600]
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]
|
||||
[SESSION_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]
|
||||
"MEMORY_MAPPING_OPTIONS" ""
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX200_E1_E20_SYSTEM]
|
||||
[SESSION_DATA_CONFIGURATION_SESSION_Blinky_SessionRX200_E1_E20_SYSTEM]
|
||||
"MEMORY_MAPPING_OPTIONS" ""
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
|
||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
|
||||
"MEMORY_MAPPING_OPTIONS" ""
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionRX200_E1_E20_SYSTEM]
|
||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_SessionRX200_E1_E20_SYSTEM]
|
||||
"MEMORY_MAPPING_OPTIONS" ""
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_DefaultSession]
|
||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_DefaultSession]
|
||||
"MEMORY_MAPPING_OPTIONS" ""
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SessionRX200_E1_E20_SYSTEM]
|
||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SessionRX200_E1_E20_SYSTEM]
|
||||
"MEMORY_MAPPING_OPTIONS" ""
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]
|
||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]
|
||||
"MEMORY_MAPPING_OPTIONS" ""
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX200_E1_E20_SYSTEM]
|
||||
[SESSION_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX200_E1_E20_SYSTEM]
|
||||
"MEMORY_MAPPING_OPTIONS" ""
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_DefaultSession]
|
||||
[SESSION_DATA_CONFIGURATION_SESSION_SimDebug_RX600_DefaultSession]
|
||||
"MEMORY_MAPPING_OPTIONS" ""
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SessionRX200_E1_E20_SYSTEM]
|
||||
[SESSION_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SessionRX200_E1_E20_SYSTEM]
|
||||
"MEMORY_MAPPING_OPTIONS" ""
|
||||
[EXT_DEBUGGER_INFO]
|
||||
0 "" "" "" ""
|
||||
[END]
|
Binary file not shown.
@ -0,0 +1,57 @@
|
||||
[HIMDBVersion]
|
||||
2.0
|
||||
[DATABASE_VERSION]
|
||||
"1.1"
|
||||
[SESSIONS_]
|
||||
"DefaultSession"
|
||||
"SessionRX200_E1_E20_SYSTEM"
|
||||
[CONFIGURATIONS]
|
||||
"Blinky"
|
||||
"Debug"
|
||||
"Debug_RX600_E1_E20_SYSTEM"
|
||||
"Debug_with_optimisation"
|
||||
"SimDebug_RX600"
|
||||
[CURRENT_CONFIGURATION]
|
||||
"Debug_with_optimisation"
|
||||
[CURRENT_SESSION]
|
||||
"SessionRX200_E1_E20_SYSTEM"
|
||||
[GENERAL_DATA_PROJECT]
|
||||
"FDT_UserBootAreaFiles" ""
|
||||
[GENERAL_DATA_CONFIGURATION_Blinky]
|
||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE"
|
||||
[SESSIONS_Blinky]
|
||||
"DefaultSession"
|
||||
"SessionRX200_E1_E20_SYSTEM"
|
||||
[GENERAL_DATA_CONFIGURATION_Debug]
|
||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE"
|
||||
[SESSIONS_Debug]
|
||||
"DefaultSession"
|
||||
"SessionRX200_E1_E20_SYSTEM"
|
||||
[GENERAL_DATA_CONFIGURATION_Debug_RX600_E1_E20_SYSTEM]
|
||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE"
|
||||
[SESSIONS_Debug_RX600_E1_E20_SYSTEM]
|
||||
"DefaultSession"
|
||||
"SessionRX200_E1_E20_SYSTEM"
|
||||
[GENERAL_DATA_CONFIGURATION_Debug_with_optimisation]
|
||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "FALSE"
|
||||
[SESSIONS_Debug_with_optimisation]
|
||||
"DefaultSession"
|
||||
"SessionRX200_E1_E20_SYSTEM"
|
||||
[GENERAL_DATA_CONFIGURATION_SimDebug_RX600]
|
||||
"PROJECT_FILES_MODIFIED_DATA_TAG" "TRUE"
|
||||
[SESSIONS_SimDebug_RX600]
|
||||
"DefaultSession"
|
||||
"SessionRX200_E1_E20_SYSTEM"
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_SessionRX200_E1_E20_SYSTEM]
|
||||
[GENERAL_DATA_SESSION_SessionRX200_E1_E20_SYSTEM]
|
||||
[GENERAL_DATA_SESSION_DefaultSession]
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_DefaultSession]
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_DefaultSession]
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_DefaultSession]
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_DefaultSession]
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_RX600_E1_E20_SYSTEM_SessionRX200_E1_E20_SYSTEM]
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Blinky_SessionRX200_E1_E20_SYSTEM]
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_SimDebug_RX600_SessionRX200_E1_E20_SYSTEM]
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_with_optimisation_DefaultSession]
|
||||
[GENERAL_DATA_CONFIGURATION_SESSION_Debug_SessionRX200_E1_E20_SYSTEM]
|
||||
[END]
|
@ -0,0 +1,66 @@
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
/* FILE :dbsct.c */
|
||||
/* DATE :Wed, Aug 11, 2010 */
|
||||
/* DESCRIPTION :Setting of B,R Section */
|
||||
/* CPU TYPE :Other */
|
||||
/* */
|
||||
/* This file is generated by Renesas Project Generator (Ver.4.50). */
|
||||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Device : RX
|
||||
*
|
||||
* File Name : dbsct.c
|
||||
*
|
||||
* Abstract : Setting of B,R Section.
|
||||
*
|
||||
* History : 1.00 (2009-08-07)
|
||||
*
|
||||
* NOTE : THIS IS A TYPICAL EXAMPLE.
|
||||
*
|
||||
* Copyright(c) 2009 Renesas Technology Corp.
|
||||
* And Renesas Solutions Corp.,All Rights Reserved.
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
#include "typedefine.h"
|
||||
|
||||
#pragma unpack
|
||||
|
||||
#pragma section C C$DSEC
|
||||
extern const struct {
|
||||
_UBYTE *rom_s; /* Start address of the initialized data section in ROM */
|
||||
_UBYTE *rom_e; /* End address of the initialized data section in ROM */
|
||||
_UBYTE *ram_s; /* Start address of the initialized data section in RAM */
|
||||
} _DTBL[] = {
|
||||
{ __sectop("D"), __secend("D"), __sectop("R") },
|
||||
{ __sectop("D_2"), __secend("D_2"), __sectop("R_2") },
|
||||
{ __sectop("D_1"), __secend("D_1"), __sectop("R_1") }
|
||||
};
|
||||
#pragma section C C$BSEC
|
||||
extern const struct {
|
||||
_UBYTE *b_s; /* Start address of non-initialized data section */
|
||||
_UBYTE *b_e; /* End address of non-initialized data section */
|
||||
} _BTBL[] = {
|
||||
{ __sectop("B"), __secend("B") },
|
||||
{ __sectop("B_2"), __secend("B_2") },
|
||||
{ __sectop("B_1"), __secend("B_1") }
|
||||
};
|
||||
|
||||
#pragma section
|
||||
|
||||
/*
|
||||
** CTBL prevents excessive output of L1100 messages when linking.
|
||||
** Even if CTBL is deleted, the operation of the program does not change.
|
||||
*/
|
||||
_UBYTE * const _CTBL[] = {
|
||||
__sectop("C_1"), __sectop("C_2"), __sectop("C"),
|
||||
__sectop("W_1"), __sectop("W_2"), __sectop("W")
|
||||
};
|
||||
|
||||
#pragma packoption
|
@ -0,0 +1,264 @@
|
||||
/******************************************************************************
|
||||
* DISCLAIMER
|
||||
|
||||
* This software is supplied by Renesas Technology Corp. and is only
|
||||
* intended for use with Renesas products. No other uses are authorized.
|
||||
|
||||
* This software is owned by Renesas Technology Corp. and is protected under
|
||||
* all applicable laws, including copyright laws.
|
||||
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES
|
||||
* REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY,
|
||||
* INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||
* PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY
|
||||
* DISCLAIMED.
|
||||
|
||||
* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
|
||||
* TECHNOLOGY CORP. NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
|
||||
* FOR ANY REASON RELATED TO THE THIS SOFTWARE, EVEN IF RENESAS OR ITS
|
||||
* AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
* Renesas reserves the right, without notice, to make changes to this
|
||||
* software and to discontinue the availability of this software.
|
||||
* By using this software, you agree to the additional terms and
|
||||
* conditions found by accessing the following link:
|
||||
* http://www.renesas.com/disclaimer
|
||||
******************************************************************************
|
||||
* Copyright (C) 2008. Renesas Technology Corp., All Rights Reserved.
|
||||
*******************************************************************************
|
||||
* File Name : hwsetup.c
|
||||
* Version : 1.00
|
||||
* Description : Power up hardware initializations
|
||||
******************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 15.02.2010 1.00 First Release
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
******************************************************************************/
|
||||
#include <stdint.h>
|
||||
#include "iodefine.h"
|
||||
//#include "r_ether.h"
|
||||
#include "rskrx62ndef.h"
|
||||
#include "hd44780.h" /* EZ-LCD include file */
|
||||
|
||||
/******************************************************************************
|
||||
Typedef definitions
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Macro definitions
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Imported global variables and functions (from other files)
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Exported global variables and functions (to be accessed by other files)
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Private global variables and functions
|
||||
******************************************************************************/
|
||||
void io_set_cpg(void);
|
||||
void ConfigurePortPins(void);
|
||||
void EnablePeripheralModules(void);
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name: HardwareSetup
|
||||
* Description : This function does initial setting for CPG port pins used in
|
||||
* : the Demo including the MII pins of the Ethernet PHY connection.
|
||||
* Arguments : none
|
||||
* Return Value : none
|
||||
******************************************************************************/
|
||||
void HardwareSetup(void)
|
||||
{
|
||||
/* CPG setting */
|
||||
io_set_cpg();
|
||||
|
||||
/* Setup the port pins */
|
||||
ConfigurePortPins();
|
||||
|
||||
/* Enables peripherals */
|
||||
EnablePeripheralModules();
|
||||
|
||||
#if INCLUDE_LCD == 1
|
||||
/* Initialize display */
|
||||
InitialiseDisplay();
|
||||
#endif
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name: EnablePeripheralModules
|
||||
* Description : Enables Peripheral Modules before use
|
||||
* Arguments : none
|
||||
* Return Value : none
|
||||
******************************************************************************/
|
||||
void EnablePeripheralModules(void)
|
||||
{
|
||||
/* Module standby clear */
|
||||
// SYSTEM.MSTPCRB.BIT.MSTPB15 = 0; /* EtherC, EDMAC */
|
||||
SYSTEM.MSTPCRA.BIT.MSTPA15 = 0; /* CMT0 */
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name: ConfigurePortPins
|
||||
* Description : Configures port pins.
|
||||
* Arguments : none
|
||||
* Return Value : none
|
||||
******************************************************************************/
|
||||
void ConfigurePortPins(void)
|
||||
{
|
||||
/* Port pins default to inputs. To ensure safe initialisation set the pin states
|
||||
before changing the data direction registers. This will avoid any unintentional
|
||||
state changes on the external ports.
|
||||
Many peripheral modules will override the setting of the port registers. Ensure
|
||||
that the state is safe for external devices if the internal peripheral module is
|
||||
disabled or powered down. */
|
||||
#if(0)
|
||||
/* ==== MII/RMII Pins setting ==== */
|
||||
/*--------------------------------------*/
|
||||
/* Port Function Control Register */
|
||||
/*--------------------------------------*/
|
||||
#if ETH_MODE_SEL == ETH_MII_MODE
|
||||
/* EE=1, PHYMODE=1, ENETE3=1, ENETE2=0, ENETE1=1, ENETE0=0 (Ethernet) */
|
||||
IOPORT.PFENET.BYTE = 0x9A;
|
||||
#endif /* ETH_MODE_SEL */
|
||||
#if ETH_MODE_SEL == ETH_RMII_MODE
|
||||
/* EE=1, PHYMODE=0, ENETE3=0, ENETE2=0, ENETE1=1, ENETE0=0 (Ethernet) */
|
||||
IOPORT.PFENET.BYTE = 0x82;
|
||||
#endif /* ETH_MODE_SEL */
|
||||
/*-------------------------------------------*/
|
||||
/* Input Buffer Control Register (ICR) */
|
||||
/*-------------------------------------------*/
|
||||
#if ETH_MODE_SEL == ETH_MII_MODE
|
||||
/* P54=1 Set ET_LINKSTA input */
|
||||
PORT5.ICR.BIT.B4 = 1;
|
||||
/* P71=1 Set ET_MDIO input */
|
||||
PORT7.ICR.BIT.B1 = 1;
|
||||
/* P74=1 Set ET_ERXD1 input */
|
||||
PORT7.ICR.BIT.B4 = 1;
|
||||
/* P75=1 Set ET_ERXD0 input */
|
||||
PORT7.ICR.BIT.B5 = 1;
|
||||
/* P76=1 Set ET_RX_CLK input */
|
||||
PORT7.ICR.BIT.B6 = 1;
|
||||
/* P77=1 Set ET_RX_ER input */
|
||||
PORT7.ICR.BIT.B7 = 1;
|
||||
/* P83=1 Set ET_CRS input */
|
||||
PORT8.ICR.BIT.B3 = 1;
|
||||
/* PC0=1 Set ET_ERXD3 input */
|
||||
PORTC.ICR.BIT.B0 = 1;
|
||||
/* PC1=1 Set ET_ERXD2 input */
|
||||
PORTC.ICR.BIT.B1 = 1;
|
||||
/* PC2=1 Set ET_RX_DV input */
|
||||
PORTC.ICR.BIT.B2 = 1;
|
||||
/* PC4=1 Set EX_TX_CLK input */
|
||||
PORTC.ICR.BIT.B4 = 1;
|
||||
/* PC7=1 Set ET_COL input */
|
||||
PORTC.ICR.BIT.B7 = 1;
|
||||
#endif /* ETH_MODE_SEL */
|
||||
#if ETH_MODE_SEL == ETH_RMII_MODE
|
||||
/* P54=1 Set ET_LINKSTA input */
|
||||
PORT5.ICR.BIT.B4 = 1;
|
||||
/* P71=1 Set ET_MDIO input */
|
||||
PORT7.ICR.BIT.B1 = 1;
|
||||
/* P74=1 Set RMII_RXD1 input */
|
||||
PORT7.ICR.BIT.B4 = 1;
|
||||
/* P75=1 Set RMII_RXD0 input */
|
||||
PORT7.ICR.BIT.B5 = 1;
|
||||
/* P76=1 Set REF50CLK input */
|
||||
PORT7.ICR.BIT.B6 = 1;
|
||||
/* P77=1 Set RMII_RX_ER input */
|
||||
PORT7.ICR.BIT.B7 = 1;
|
||||
/* P83=1 Set RMII_CRS_DV input */
|
||||
PORT8.ICR.BIT.B3 = 1;
|
||||
#endif /* ETH_MODE_SEL */
|
||||
#endif
|
||||
/* Configure LED 0-4 pin settings */
|
||||
PORT1.PODR.BIT.B4 = 1;
|
||||
PORT1.PODR.BIT.B5 = 1;
|
||||
PORT1.PODR.BIT.B6 = 1;
|
||||
PORT1.PODR.BIT.B7 = 1;
|
||||
|
||||
PORT1.PDR.BIT.B4 = 1;
|
||||
PORT1.PDR.BIT.B5 = 1;
|
||||
PORT1.PDR.BIT.B6 = 1;
|
||||
PORT1.PDR.BIT.B7 = 1;
|
||||
|
||||
|
||||
|
||||
|
||||
#if INCLUDE_LCD == 1
|
||||
/* Set LCD pins as outputs */
|
||||
/* LCD-RS */
|
||||
PORTJ.PDR.BIT.B1 = 1;
|
||||
/* LCD-EN */
|
||||
PORTJ.PDR.BIT.B3 = 1;
|
||||
/*LCD-data */
|
||||
PORTH.PDR.BYTE = 0x0F;
|
||||
#endif
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* Function Name: io_set_cpg
|
||||
* Description : Sets up operating speed
|
||||
* Arguments : none
|
||||
* Return Value : none
|
||||
******************************************************************************/
|
||||
void io_set_cpg(void)
|
||||
{
|
||||
/* Set CPU PLL operating frequencies. Changes to the peripheral clock will require
|
||||
changes to the debugger and flash kernel BRR settings. */
|
||||
|
||||
/* ==== CPG setting ==== */
|
||||
// SYSTEM.SCKCR.LONG = 0x00020100; /* Clockin = 12MHz */
|
||||
// /* I Clock = 96MHz, B Clock = 24MHz, */
|
||||
// /* P Clock = 48MHz */
|
||||
|
||||
unsigned int i;
|
||||
|
||||
SYSTEM.PRCR.WORD = 0xA503; /* Protect on */
|
||||
|
||||
// SYSTEM.SOSCCR.BYTE = 0x01; /* stop sub-clock */
|
||||
/* delete when you use sub-clock */
|
||||
|
||||
// SYSTEM.HOCOPCR.BYTE = 0x01; /* HOCO power supply off */
|
||||
/* delete when you use HOCO */
|
||||
|
||||
SYSTEM.MOSCWTCR.BYTE = 0x0D; /* 131072 state */
|
||||
/* wait over 10ms @12.5MHz */
|
||||
|
||||
SYSTEM.PLLWTCR.BYTE = 0x0E; /* 2097152 state */
|
||||
/* wait over 12ms @PLL=100MHz(12.5MHz*8) */
|
||||
|
||||
// SYSTEM.PLLCR.WORD = 0x0902; /* x10 @PLL */
|
||||
/* Input to PLL (EXTAL in) / 2 */
|
||||
|
||||
// SYSTEM.MOSCCR.BYTE = 0x02; /* EXTAL ON */
|
||||
/* External oscillation input selection */
|
||||
// SYSTEM.PLLCR2.BYTE = 0x00; /* PLL ON */
|
||||
|
||||
// for(i = 0;i< 0x168;i++) /* wait over 12ms */
|
||||
// {
|
||||
// }
|
||||
|
||||
// SYSTEM.SCKCR.LONG = 0x21022222; /* ICK=PLL/2,FCK,PCK,BCL=PLL/4 */
|
||||
// SYSTEM.SCKCR3.WORD = 0x0400; /* LOCO -> PLL */
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* Using HOCO set to 50MHz to run device */
|
||||
/* ICLK = 50MHz */
|
||||
/* PCLKD (12ADC) = 50MHz */
|
||||
/* All other clocks = CLK / 2 = 25MHz */
|
||||
/*************************************************************************/
|
||||
|
||||
SYSTEM.HOCOCR2.BYTE = 0x03; /* 50MHz */
|
||||
SYSTEM.SCKCR.LONG = 0x10811110;
|
||||
SYSTEM.SCKCR3.WORD = 0x0100; /* LOCO -> HOCO */
|
||||
}
|
||||
|
@ -0,0 +1,53 @@
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
/* FILE :intprg.c */
|
||||
/* DATE :Wed, Aug 11, 2010 */
|
||||
/* DESCRIPTION :Interrupt Program */
|
||||
/* CPU TYPE :Other */
|
||||
/* */
|
||||
/* This file is generated by Renesas Project Generator (Ver.4.50). */
|
||||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Device : RX/RX600
|
||||
*
|
||||
* File Name : intprg.c
|
||||
*
|
||||
* Abstract : Interrupt Program.
|
||||
*
|
||||
* History : 1.00 (2009-08-07)
|
||||
*
|
||||
* NOTE : THIS IS A TYPICAL EXAMPLE.
|
||||
*
|
||||
* Copyright(c) 2009 Renesas Technology Corp.
|
||||
* And Renesas Solutions Corp.,All Rights Reserved.
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
#include <machine.h>
|
||||
#include "vect.h"
|
||||
#pragma section IntPRG
|
||||
|
||||
// Exception(Supervisor Instruction)
|
||||
void Excep_SuperVisorInst(void){/* brk(); */}
|
||||
|
||||
// Exception(Undefined Instruction)
|
||||
void Excep_UndefinedInst(void){/* brk(); */}
|
||||
|
||||
// Exception(Floating Point)
|
||||
void Excep_FloatingPoint(void){/* brk(); */}
|
||||
|
||||
// NMI
|
||||
void NonMaskableInterrupt(void){/* brk(); */}
|
||||
|
||||
// Dummy
|
||||
void Dummy(void){/* brk(); */}
|
||||
|
||||
// BRK
|
||||
void Excep_BRK(void){ wait(); }
|
||||
|
@ -0,0 +1,120 @@
|
||||
|
||||
; Comment out the orginal code
|
||||
.IF 0
|
||||
|
||||
;------------------------------------------------------------------------
|
||||
; |
|
||||
; FILE :lowlvl.src |
|
||||
; DATE :Wed, Jun 16, 2010 |
|
||||
; DESCRIPTION :Program of Low level |
|
||||
; CPU TYPE :Other |
|
||||
; |
|
||||
; This file is generated by Renesas Project Generator (Ver.4.50). |
|
||||
; NOTE:THIS IS A TYPICAL EXAMPLE. |
|
||||
; |
|
||||
;------------------------------------------------------------------------
|
||||
|
||||
|
||||
.GLB _charput
|
||||
.GLB _charget
|
||||
|
||||
SIM_IO .EQU 0h
|
||||
|
||||
.SECTION P,CODE
|
||||
;-----------------------------------------------------------------------
|
||||
; _charput:
|
||||
;-----------------------------------------------------------------------
|
||||
_charput:
|
||||
MOV.L #IO_BUF,R2
|
||||
MOV.B R1,[R2]
|
||||
MOV.L #1220000h,R1
|
||||
MOV.L #PARM,R3
|
||||
MOV.L R2,[R3]
|
||||
MOV.L R3,R2
|
||||
MOV.L #SIM_IO,R3
|
||||
JSR R3
|
||||
RTS
|
||||
|
||||
;-----------------------------------------------------------------------
|
||||
; _charget:
|
||||
;-----------------------------------------------------------------------
|
||||
_charget:
|
||||
MOV.L #1210000h,R1
|
||||
MOV.L #IO_BUF,R2
|
||||
MOV.L #PARM,R3
|
||||
MOV.L R2,[R3]
|
||||
MOV.L R3,R2
|
||||
MOV.L #SIM_IO,R3
|
||||
JSR R3
|
||||
MOV.L #IO_BUF,R2
|
||||
MOVU.B [R2],R1
|
||||
RTS
|
||||
|
||||
;-----------------------------------------------------------------------
|
||||
; I/O Buffer
|
||||
;-----------------------------------------------------------------------
|
||||
.SECTION B,DATA,ALIGN=4
|
||||
PARM: .BLKL 1
|
||||
.SECTION B_1,DATA
|
||||
IO_BUF: .BLKB 1
|
||||
; .END ; Commented out for conditional assembly
|
||||
|
||||
; Code below is for debug console
|
||||
.ELSE
|
||||
|
||||
;-----------------------------------------------------------------------
|
||||
;
|
||||
; FILE :lowlvl.src
|
||||
; DATE :Wed, Jul 01, 2009
|
||||
; DESCRIPTION :Program of Low level
|
||||
; CPU TYPE :RX
|
||||
;
|
||||
;-----------------------------------------------------------------------
|
||||
.GLB _charput
|
||||
.GLB _charget
|
||||
|
||||
FC2E0 .EQU 00084080h
|
||||
FE2C0 .EQU 00084090h
|
||||
DBGSTAT .EQU 000840C0h
|
||||
RXFL0EN .EQU 00001000h
|
||||
TXFL0EN .EQU 00000100h
|
||||
|
||||
.SECTION P,CODE
|
||||
|
||||
;-----------------------------------------------------------------------
|
||||
; _charput:
|
||||
;-----------------------------------------------------------------------
|
||||
_charput:
|
||||
.STACK _charput = 00000000h
|
||||
__C2ESTART: MOV.L #TXFL0EN,R3
|
||||
MOV.L #DBGSTAT,R4
|
||||
__TXLOOP: MOV.L [R4],R5
|
||||
AND R3,R5
|
||||
BNZ __TXLOOP
|
||||
__WRITEFC2E0: MOV.L #FC2E0,R2
|
||||
MOV.L R1,[R2]
|
||||
__CHARPUTEXIT: RTS
|
||||
|
||||
;-----------------------------------------------------------------------
|
||||
; _charget:
|
||||
;-----------------------------------------------------------------------
|
||||
_charget:
|
||||
.STACK _charget = 00000000h
|
||||
__E2CSTART: MOV.L #RXFL0EN,R3
|
||||
MOV.L #DBGSTAT,R4
|
||||
__RXLOOP: MOV.L [R4],R5
|
||||
AND R3,R5
|
||||
BZ __RXLOOP
|
||||
__READFE2C0: MOV.L #FE2C0,R2
|
||||
MOV.L [R2],R1
|
||||
__CHARGETEXIT: RTS
|
||||
|
||||
;-----------------------------------------------------------------------
|
||||
|
||||
; End of conditional code
|
||||
.ENDIF
|
||||
|
||||
.END
|
||||
|
||||
|
||||
|
@ -0,0 +1,329 @@
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
/* FILE :lowsrc.c */
|
||||
/* DATE :Wed, Jun 16, 2010 */
|
||||
/* DESCRIPTION :Program of I/O Stream */
|
||||
/* CPU TYPE :Other */
|
||||
/* */
|
||||
/* This file is generated by Renesas Project Generator (Ver.4.50). */
|
||||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Device : RX
|
||||
*
|
||||
* File Name : lowsrc.c
|
||||
*
|
||||
* Abstract : Program of I/O Stream.
|
||||
*
|
||||
* History : 1.00 (2009-08-07)
|
||||
*
|
||||
* NOTE : THIS IS A TYPICAL EXAMPLE.
|
||||
*
|
||||
* Copyright(c) 2009 Renesas Technology Corp.
|
||||
* And Renesas Solutions Corp.,All Rights Reserved.
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#include "lowsrc.h"
|
||||
|
||||
/* file number */
|
||||
#define STDIN 0 /* Standard input (console) */
|
||||
#define STDOUT 1 /* Standard output (console) */
|
||||
#define STDERR 2 /* Standard error output (console) */
|
||||
|
||||
#define FLMIN 0 /* Minimum file number */
|
||||
#define _MOPENR 0x1
|
||||
#define _MOPENW 0x2
|
||||
#define _MOPENA 0x4
|
||||
#define _MTRUNC 0x8
|
||||
#define _MCREAT 0x10
|
||||
#define _MBIN 0x20
|
||||
#define _MEXCL 0x40
|
||||
#define _MALBUF 0x40
|
||||
#define _MALFIL 0x80
|
||||
#define _MEOF 0x100
|
||||
#define _MERR 0x200
|
||||
#define _MLBF 0x400
|
||||
#define _MNBF 0x800
|
||||
#define _MREAD 0x1000
|
||||
#define _MWRITE 0x2000
|
||||
#define _MBYTE 0x4000
|
||||
#define _MWIDE 0x8000
|
||||
/* File Flags */
|
||||
#define O_RDONLY 0x0001 /* Read only */
|
||||
#define O_WRONLY 0x0002 /* Write only */
|
||||
#define O_RDWR 0x0004 /* Both read and Write */
|
||||
#define O_CREAT 0x0008 /* A file is created if it is not existed */
|
||||
#define O_TRUNC 0x0010 /* The file size is changed to 0 if it is existed. */
|
||||
#define O_APPEND 0x0020 /* The position is set for next reading/writing */
|
||||
/* 0: Top of the file 1: End of file */
|
||||
|
||||
/* Special character code */
|
||||
#define CR 0x0d /* Carriage return */
|
||||
#define LF 0x0a /* Line feed */
|
||||
|
||||
#if defined( __RX )
|
||||
const long _nfiles = IOSTREAM; /* The number of files for input/output files */
|
||||
#else
|
||||
const int _nfiles = IOSTREAM; /* The number of files for input/output files */
|
||||
#endif
|
||||
char flmod[IOSTREAM]; /* The location for the mode of opened file. */
|
||||
|
||||
unsigned char sml_buf[IOSTREAM];
|
||||
|
||||
#define FPATH_STDIN "C:\\stdin"
|
||||
#define FPATH_STDOUT "C:\\stdout"
|
||||
#define FPATH_STDERR "C:\\stderr"
|
||||
|
||||
/* H8 Normal mode ,SH and RX */
|
||||
#if defined( __2000N__ ) || defined( __2600N__ ) || defined( __300HN__ ) || defined( _SH )
|
||||
/* Output one character to standard output */
|
||||
extern void charput(char);
|
||||
/* Input one character from standard input */
|
||||
extern char charget(void);
|
||||
/* Output one character to the file */
|
||||
extern char fcharput(char, unsigned char);
|
||||
/* Input one character from the file */
|
||||
extern char fcharget(char*, unsigned char);
|
||||
/* Open the file */
|
||||
extern char fileopen(char*, unsigned char, unsigned char*);
|
||||
/* Close the file */
|
||||
extern char fileclose(unsigned char);
|
||||
/* Move the file offset */
|
||||
extern char fpseek(unsigned char, long, unsigned char);
|
||||
/* Get the file offset */
|
||||
extern char fptell(unsigned char, long*);
|
||||
|
||||
/* RX */
|
||||
#elif defined( __RX )
|
||||
/* Output one character to standard output */
|
||||
extern void charput(unsigned char);
|
||||
/* Input one character from standard input */
|
||||
extern unsigned char charget(void);
|
||||
|
||||
/* H8 Advanced mode */
|
||||
#elif defined( __2000A__ ) || defined( __2600A__ ) || defined( __300HA__ ) || defined( __H8SXN__ ) || defined( __H8SXA__ ) || defined( __H8SXM__ ) || defined( __H8SXX__ )
|
||||
/* Output one character to standard output */
|
||||
extern void charput(char);
|
||||
/* Input one character from standard input */
|
||||
extern char charget(void);
|
||||
/* Output one character to the file */
|
||||
extern char fcharput(char, unsigned char);
|
||||
/* Input one character from the file */
|
||||
extern char fcharget(char*, unsigned char);
|
||||
/* Open the file */
|
||||
/* Specified as the number of register which stored paramter is 3 */
|
||||
extern char __regparam3 fileopen(char*, unsigned char, unsigned char*);
|
||||
/* Close the file */
|
||||
extern char fileclose(unsigned char);
|
||||
/* Move the file offset */
|
||||
extern char fpseek(unsigned char, long, unsigned char);
|
||||
/* Get the file offset */
|
||||
extern char fptell(unsigned char, long*);
|
||||
|
||||
/* H8300 and H8300L */
|
||||
#elif defined( __300__ ) || defined( __300L__ )
|
||||
/* Output one character to standard output */
|
||||
extern void charput(char);
|
||||
/* Input one character from standard input */
|
||||
extern char charget(void);
|
||||
/* Output one character to the file */
|
||||
extern char fcharput(char, unsigned char);
|
||||
/* Input one character from the file */
|
||||
extern char fcharget(char*, unsigned char);
|
||||
/* Open the file */
|
||||
/* Specified as the number of register which stored paramter is 3 */
|
||||
extern char __regparam3 fileopen(char*, unsigned char, unsigned char*);
|
||||
/* Close the file */
|
||||
extern char fileclose(unsigned char);
|
||||
/* Move the file offset */
|
||||
/* Move the file offset */
|
||||
extern char __regparam3 fpseek(unsigned char, long, unsigned char);
|
||||
/* Get the file offset */
|
||||
extern char fptell(unsigned char, long*);
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
FILE *_Files[IOSTREAM]; // structure for FILE
|
||||
char *env_list[] = { // Array for environment variables(**environ)
|
||||
"ENV1=temp01",
|
||||
"ENV2=temp02",
|
||||
"ENV9=end",
|
||||
'\0' // Terminal for environment variables
|
||||
};
|
||||
|
||||
char **environ = env_list;
|
||||
|
||||
/****************************************************************************/
|
||||
/* _INIT_IOLIB */
|
||||
/* Initialize C library Functions, if necessary. */
|
||||
/* Define USES_SIMIO on Assembler Option. */
|
||||
/****************************************************************************/
|
||||
void _INIT_IOLIB( void )
|
||||
{
|
||||
/* A file for standard input/output is opened or created. Each FILE */
|
||||
/* structure members are initialized by the library. Each _Buf member */
|
||||
/* in it is re-set the end of buffer pointer. */
|
||||
|
||||
/* Standard Input File */
|
||||
if( freopen( FPATH_STDIN, "r", stdin ) == NULL )
|
||||
stdin->_Mode = 0xffff; /* Not allow the access if it fails to open */
|
||||
stdin->_Mode = _MOPENR; /* Read only attribute */
|
||||
stdin->_Mode |= _MNBF; /* Non-buffering for data */
|
||||
stdin->_Bend = stdin->_Buf + 1; /* Re-set pointer to the end of buffer */
|
||||
|
||||
/* Standard Output File */
|
||||
if( freopen( FPATH_STDOUT, "w", stdout ) == NULL )
|
||||
stdout->_Mode = 0xffff; /* Not allow the access if it fails to open */
|
||||
stdout->_Mode |= _MNBF; /* Non-buffering for data */
|
||||
stdout->_Bend = stdout->_Buf + 1;/* Re-set pointer to the end of buffer */
|
||||
|
||||
/* Standard Error File */
|
||||
if( freopen( FPATH_STDERR, "w", stderr ) == NULL )
|
||||
stderr->_Mode = 0xffff; /* Not allow the access if it fails to open */
|
||||
stderr->_Mode |= _MNBF; /* Non-buffering for data */
|
||||
stderr->_Bend = stderr->_Buf + 1;/* Re-set pointer to the end of buffer */
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
/* _CLOSEALL */
|
||||
/****************************************************************************/
|
||||
void _CLOSEALL( void )
|
||||
{
|
||||
long i;
|
||||
|
||||
for( i=0; i < _nfiles; i++ )
|
||||
{
|
||||
/* Checks if the file is opened or not */
|
||||
if( _Files[i]->_Mode & (_MOPENR | _MOPENW | _MOPENA ) )
|
||||
fclose( _Files[i] ); /* Closes the file */
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************/
|
||||
/* open:file open */
|
||||
/* Return value:File number (Pass) */
|
||||
/* -1 (Failure) */
|
||||
/**************************************************************************/
|
||||
#if defined( __RX )
|
||||
long open(const char *name, /* File name */
|
||||
long mode, /* Open mode */
|
||||
long flg) /* Open flag */
|
||||
#else
|
||||
int open(char *name, /* File name */
|
||||
int mode, /* Open mode */
|
||||
int flg) /* Open flag */
|
||||
#endif
|
||||
{
|
||||
|
||||
|
||||
if( strcmp( name, FPATH_STDIN ) == 0 ) /* Standard Input file? */
|
||||
{
|
||||
if( ( mode & O_RDONLY ) == 0 ) return -1;
|
||||
flmod[STDIN] = mode;
|
||||
return STDIN;
|
||||
}
|
||||
else if( strcmp( name, FPATH_STDOUT ) == 0 )/* Standard Output file? */
|
||||
{
|
||||
if( ( mode & O_WRONLY ) == 0 ) return -1;
|
||||
flmod[STDOUT] = mode;
|
||||
return STDOUT;
|
||||
}
|
||||
else if(strcmp(name, FPATH_STDERR ) == 0 ) /* Standard Error file? */
|
||||
{
|
||||
if( ( mode & O_WRONLY ) == 0 ) return -1;
|
||||
flmod[STDERR] = mode;
|
||||
return STDERR;
|
||||
}
|
||||
else return -1; /*Others */
|
||||
}
|
||||
|
||||
#if defined( __RX )
|
||||
long close( long fileno )
|
||||
#else
|
||||
int close( int fileno )
|
||||
#endif
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**************************************************************************/
|
||||
/* write:Data write */
|
||||
/* Return value:Number of write characters (Pass) */
|
||||
/* -1 (Failure) */
|
||||
/**************************************************************************/
|
||||
#if defined( __RX )
|
||||
long write(long fileno, /* File number */
|
||||
const unsigned char *buf, /* The address of destination buffer */
|
||||
long count) /* The number of chacter to write */
|
||||
#else
|
||||
int write(int fileno, /* File number */
|
||||
char *buf, /* The address of destination buffer */
|
||||
int count) /* The number of chacter to write */
|
||||
#endif
|
||||
{
|
||||
long i; /* A variable for counter */
|
||||
unsigned char c; /* An output character */
|
||||
|
||||
/* Checking the mode of file , output each character */
|
||||
/* Checking the attribute for Write-Only, Read-Only or Read-Write */
|
||||
if(flmod[fileno]&O_WRONLY || flmod[fileno]&O_RDWR)
|
||||
{
|
||||
if( fileno == STDIN ) return -1; /* Standard Input */
|
||||
else if( (fileno == STDOUT) || (fileno == STDERR) )
|
||||
/* Standard Error/output */
|
||||
{
|
||||
for( i = count; i > 0; --i )
|
||||
{
|
||||
c = *buf++;
|
||||
charput(c);
|
||||
}
|
||||
return count; /*Return the number of written characters */
|
||||
}
|
||||
else return -1; /* Incorrect file number */
|
||||
}
|
||||
else return -1; /* An error */
|
||||
}
|
||||
|
||||
#if defined( __RX )
|
||||
long read( long fileno, unsigned char *buf, long count )
|
||||
#else
|
||||
int read( int fileno, char *buf, unsigned int count )
|
||||
#endif
|
||||
{
|
||||
long i;
|
||||
|
||||
/* Checking the file mode with the file number, each character is input and stored the buffer */
|
||||
|
||||
if((flmod[fileno]&_MOPENR) || (flmod[fileno]&O_RDWR)){
|
||||
for(i = count; i > 0; i--){
|
||||
*buf = charget();
|
||||
if(*buf==CR){ /* Replace the new line character */
|
||||
*buf = LF;
|
||||
}
|
||||
buf++;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
#if defined( __RX )
|
||||
long lseek( long fileno, long offset, long base )
|
||||
#else
|
||||
long lseek( int fileno, long offset, int base )
|
||||
#endif
|
||||
{
|
||||
return -1L;
|
||||
}
|
||||
|
@ -0,0 +1,129 @@
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
/* FILE :resetprg.c */
|
||||
/* DATE :Wed, Aug 11, 2010 */
|
||||
/* DESCRIPTION :Reset Program */
|
||||
/* CPU TYPE :Other */
|
||||
/* */
|
||||
/* This file is generated by Renesas Project Generator (Ver.4.50). */
|
||||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Device : RX/RX600
|
||||
*
|
||||
* File Name : resetprg.c
|
||||
*
|
||||
* Abstract : Reset Program.
|
||||
*
|
||||
* History : 1.00 (2009-08-07)
|
||||
*
|
||||
* NOTE : THIS IS A TYPICAL EXAMPLE.
|
||||
*
|
||||
* Copyright(c) 2009 Renesas Technology Corp.
|
||||
* And Renesas Solutions Corp.,All Rights Reserved.
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
#include <machine.h>
|
||||
#include <_h_c_lib.h>
|
||||
//#include <stddef.h> // Remove the comment when you use errno
|
||||
//#include <stdlib.h> // Remove the comment when you use rand()
|
||||
#include "typedefine.h"
|
||||
#include "stacksct.h"
|
||||
|
||||
#pragma inline_asm Change_PSW_PM_to_UserMode
|
||||
static void Change_PSW_PM_to_UserMode(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void PowerON_Reset_PC(void);
|
||||
void main(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus // Use SIM I/O
|
||||
extern "C" {
|
||||
#endif
|
||||
extern void _INIT_IOLIB(void);
|
||||
extern void _CLOSEALL(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#define PSW_init 0x00010000
|
||||
#define FPSW_init 0x00000100
|
||||
|
||||
//extern void srand(_UINT); // Remove the comment when you use rand()
|
||||
//extern _SBYTE *_s1ptr; // Remove the comment when you use strtok()
|
||||
|
||||
//#ifdef __cplusplus // Use Hardware Setup
|
||||
//extern "C" {
|
||||
//#endif
|
||||
//extern void HardwareSetup(void);
|
||||
//#ifdef __cplusplus
|
||||
//}
|
||||
//#endif
|
||||
|
||||
//#ifdef __cplusplus // Remove the comment when you use global class object
|
||||
//extern "C" { // Sections C$INIT and C$END will be generated
|
||||
//#endif
|
||||
//extern void _CALL_INIT(void);
|
||||
//extern void _CALL_END(void);
|
||||
//#ifdef __cplusplus
|
||||
//}
|
||||
//#endif
|
||||
|
||||
#pragma section ResetPRG
|
||||
|
||||
#pragma entry PowerON_Reset_PC
|
||||
|
||||
void PowerON_Reset_PC(void)
|
||||
{
|
||||
set_intb((unsigned long)__sectop("C$VECT"));
|
||||
// set_fpsw(FPSW_init);
|
||||
|
||||
_INITSCT();
|
||||
|
||||
// _INIT_IOLIB(); // Remove the comment when you use SIM I/O
|
||||
|
||||
// errno=0; // Remove the comment when you use errno
|
||||
// srand((_UINT)1); // Remove the comment when you use rand()
|
||||
// _s1ptr=NULL; // Remove the comment when you use strtok()
|
||||
|
||||
// HardwareSetup(); // Use Hardware Setup
|
||||
nop();
|
||||
|
||||
// _CALL_INIT(); // Remove the comment when you use global class object
|
||||
|
||||
set_psw(PSW_init); // Set Ubit & Ibit for PSW
|
||||
// Change_PSW_PM_to_UserMode(); // DO NOT CHANGE TO USER MODE IF USING FREERTOS!
|
||||
( void ) Change_PSW_PM_to_UserMode; // Just to avoid compiler warnings.
|
||||
|
||||
main();
|
||||
|
||||
// _CLOSEALL(); // Use SIM I/O
|
||||
|
||||
// _CALL_END(); // Remove the comment when you use global class object
|
||||
|
||||
brk();
|
||||
}
|
||||
|
||||
static void Change_PSW_PM_to_UserMode(void)
|
||||
{
|
||||
MVFC PSW,R1
|
||||
OR #00100000h,R1
|
||||
PUSH.L R1
|
||||
MVFC PC,R1
|
||||
ADD #10,R1
|
||||
PUSH.L R1
|
||||
RTE
|
||||
NOP
|
||||
NOP
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#define HEAPSIZE 0x400
|
||||
signed char *sbrk( size_t size );
|
||||
union HEAP_TYPE
|
||||
{
|
||||
signed long dummy;
|
||||
signed char heap[HEAPSIZE];
|
||||
};
|
||||
static union HEAP_TYPE heap_area;
|
||||
|
||||
/* End address allocated by sbrk */
|
||||
static signed char *brk = ( signed char * ) &heap_area;
|
||||
signed char *sbrk( size_t size )
|
||||
{
|
||||
signed char *p;
|
||||
if( brk + size > heap_area.heap + HEAPSIZE )
|
||||
{
|
||||
p = ( signed char * ) - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
p = brk;
|
||||
brk += size;
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
/* FILE :vecttbl.c */
|
||||
/* DATE :Wed, Aug 11, 2010 */
|
||||
/* DESCRIPTION :Initialize of Vector Table */
|
||||
/* CPU TYPE :Other */
|
||||
/* */
|
||||
/* This file is generated by Renesas Project Generator (Ver.4.50). */
|
||||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Device : RX/RX600
|
||||
*
|
||||
* File Name : vecttbl.c
|
||||
*
|
||||
* Abstract : Initialize of Vector Table.
|
||||
*
|
||||
* History : 1.00 (2009-08-07)
|
||||
*
|
||||
* NOTE : THIS IS A TYPICAL EXAMPLE.
|
||||
*
|
||||
* Copyright(c) 2009 Renesas Technology Corp.
|
||||
* And Renesas Solutions Corp.,All Rights Reserved.
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
#include "vect.h"
|
||||
|
||||
#pragma section C FIXEDVECT
|
||||
|
||||
void* const Fixed_Vectors[] = {
|
||||
//;0xffffffd0 Exception(Supervisor Instruction)
|
||||
(void*) Excep_SuperVisorInst,
|
||||
//;0xffffffd4 Reserved
|
||||
Dummy,
|
||||
//;0xffffffd8 Reserved
|
||||
Dummy,
|
||||
//;0xffffffdc Exception(Undefined Instruction)
|
||||
(void*) Excep_UndefinedInst,
|
||||
//;0xffffffe0 Reserved
|
||||
Dummy,
|
||||
//;0xffffffe4 Exception(Floating Point)
|
||||
(void*) Excep_FloatingPoint,
|
||||
//;0xffffffe8 Reserved
|
||||
Dummy,
|
||||
//;0xffffffec Reserved
|
||||
Dummy,
|
||||
//;0xfffffff0 Reserved
|
||||
Dummy,
|
||||
//;0xfffffff4 Reserved
|
||||
Dummy,
|
||||
//;0xfffffff8 NMI
|
||||
(void*) NonMaskableInterrupt,
|
||||
//;0xfffffffc RESET
|
||||
//;<<VECTOR DATA START (POWER ON RESET)>>
|
||||
//;Power On Reset PC
|
||||
PowerON_Reset_PC
|
||||
//;<<VECTOR DATA END (POWER ON RESET)>>
|
||||
};
|
@ -0,0 +1,579 @@
|
||||
[HIMDBVersion]
|
||||
2.0
|
||||
[DATABASE_VERSION]
|
||||
"2.3"
|
||||
[SESSION_DETAILS]
|
||||
""
|
||||
[INFORMATION]
|
||||
""
|
||||
[GENERAL_DATA]
|
||||
"FIRST_CONNECTION_TAG" "NO"
|
||||
"MRULABELS_DATAMANAGER_KEY" "FFFFFFFF|00000000|2a94|f|108a|1054|fff8cd9e|1050|fff8c484|88218|000870B4|000870AE|88204|88208|18b8"
|
||||
"RESET_CPU_AFTER_DOWNLOAD_TAG" "VARIANT_TRUE_STORE_TAG"
|
||||
"{228DB593-0AB2-4EBE-A098-A2CABF094E46}RamMonitorCtrlViews" "0"
|
||||
"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlECX_MAP_FIND_SYMBOL_LIST" ""
|
||||
"{287A8023-99B5-49E1-A54E-4DDCA43D7959}MapCtrlViews" "0"
|
||||
"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}ECXLABEL_ADDDLG_ADDR" ""
|
||||
"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}LabelCtrlSymbolFileDir" ""
|
||||
"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}LabelCtrlSymbolFileName" ""
|
||||
"{2BA6A3EE-6488-11D5-80D4-00C04F68EAD7}LabelCtrlViews" "0"
|
||||
"{2BA6A3EF-6488-11D5-80D4-00C04F68EAD7}StatusCtrlViews" "0"
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBatchFileName" ""
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBreakpointFlag" "-1 "
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBreakpointStatus" "-1 "
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlBrowseDirectory" ""
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlLogFileName" ""
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlSplitterPosition" "242"
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlViews" "1"
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineCtrlWindowProperties" "17"
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}CmdLineWndInstanceKey0" "{WK_00000001_CmdLine}"
|
||||
"{313F4FC1-6566-11D5-8BBE-0004E2013C71}TclTkCtrlLogFileName" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_COMPARE_END_ADDRESS" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_COMPARE_START_ADDRESS" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_DEST_ADDRESS" "2a94"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_END_ADDRESS" "FFFFFFFF"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_DISPLAY_START_ADDRESS" "00000000"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_FILL_END_ADDRESS" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_FILL_START_ADDRESS" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_MOVE_END_ADDRESS" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_MOVE_START_ADDRESS" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_SEARCH_END_ADDRESS" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_SEARCH_START_ADDRESS" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_SET_DEST_ADDRESS" "000870B4"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_TEST_END_ADDRESS" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}ECX_MEMORY_TEST_START_ADDRESS" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryCtrlViews" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0AutoRefreshEnableTopPane" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0AutoRefreshIntervalTopPane" "100"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DataLength" "4"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispAddressTopPane" "4180"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispCode" "42208"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0DispColumnCount" "4"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispCode" "1"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispFloat" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispLabel" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsDispRegister" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0IsRegFollowEnableTopPane" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0LabelWidth" "96"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0Radix" "16"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0RegFollowRegTblIDTopPane" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0RegisterWidth" "96"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0ScrollEndAddress" "-1"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0ScrollStartAddress" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewA0StartUpSymbolTopPane" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewAInstanceKey0" "{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0AutoRefreshEnableTopPane" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0AutoRefreshIntervalTopPane" "100"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DataLength" "4"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispAddressTopPane" "4180"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispCode" "42208"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0DispColumnCount" "4"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispCode" "1"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispFloat" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispLabel" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsDispRegister" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0IsRegFollowEnableTopPane" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0LabelWidth" "96"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0Radix" "16"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0RegFollowRegTblIDTopPane" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0RegisterWidth" "96"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0ScrollEndAddress" "-1"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0ScrollStartAddress" "0"
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewB0StartUpSymbolTopPane" ""
|
||||
"{313F4FC2-6566-11D5-8BBE-0004E2013C71}MemoryWndViewBInstanceKey0" "{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEMViewB"
|
||||
"{4F025ABC-BE66-4CB6-9CEE-06C61418278E}Trace2CtrlSaveFileDir" ""
|
||||
"{4F025ABC-BE66-4CB6-9CEE-06C61418278E}Trace2CtrlSaveFileName" ""
|
||||
"{4F025ABC-BE66-4CB6-9CEE-06C61418278E}Trace2CtrlViews" "0"
|
||||
"{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlSaveFileDir" ""
|
||||
"{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlSaveFileName" ""
|
||||
"{5F75FDA0-6FF0-11D5-B7CE-00E029352378}PACtrlViews" "0"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "16777216"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "768"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000004100"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000001"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "00000000A5A5A5A5"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "00000000A5A5A5A5"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "00000000A5A5A5A5"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "00000000A5A5A5A5"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "000000000000E3E0"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000003E84"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000004100"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "000000000000EB10"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000030000"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "00000000FFF821C5"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000004102"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000FFF813CC"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_24" "1234567887650000"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_25" "1234567887650000"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_3" "000000000000E560"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000001644"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000002845"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000000"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000003DC0"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "00000000A5A5A5A5"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "00000000A5A5A5A5"
|
||||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "25"
|
||||
"{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileDir" ""
|
||||
"{6C4D5B81-FD67-46A9-A089-EA44DCDE47FD}RAMMonitorManagerCtrlBlockInfoFileName" ""
|
||||
"{743E9BC2-6B9D-44A5-A5B6-F8C3FF2C1CAD}GraphCtrlViews" "0"
|
||||
"{743E9BC2-6B9D-44A5-A5B6-F8C3FF2C1CAD}GraphWnd_Close_Count" "0"
|
||||
"{743E9BC2-6B9D-44A5-A5B6-F8C3FF2C1CAD}GraphWnd_Mode" "1"
|
||||
"{743E9BC2-6B9D-44A5-A5B6-F8C3FF2C1CAD}GraphWnd_Trace_Mode" "0"
|
||||
"{7943C44E-7D44-422A-9140-4CF55C88F7D3}DifferenceCtrlViews" "0"
|
||||
"{855C64C3-E49C-4450-9BCA-C9822566D214}OSObjectCtrlViews" "0"
|
||||
"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE" "00000000,00000000,0,0"
|
||||
"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_ADDRESS_NAME" ""
|
||||
"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_COMB_ADDRESS" ",,,,"
|
||||
"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_COMB_BUFFER" ",,,,"
|
||||
"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}ECX_WAVE_SAMPLING_RATE" "1000"
|
||||
"{8A898260-6F1D-11D5-8EB6-00004CC34E9D}WaveformCtrlViews" "0"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersCtrlViews" "0"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ColumnWidth" "50,153,36"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ECX_REGISTER_COUNT" "32"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0ECX_REGISTER_DISPLAYED" "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0HideFLAGs" "0"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0HideRadix" "0"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0LastFileName" ""
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWnd0RadixList" "16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,2,16,16,16,16,16,16,"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndInstanceKey0" "{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ColumnWidth" "50,153,36"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ECX_REGISTER_COUNT" "32"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0ECX_REGISTER_DISPLAYED" "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0HideFLAGs" "0"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0HideRadix" "0"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0LastFileName" ""
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewB0RadixList" "16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,2,16,16,16,16,16,16,"
|
||||
"{95A081A1-7001-11D5-B1FD-00A0C9E23A58}RegistersWndViewBInstanceKey0" "{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEMViewB"
|
||||
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_ADDRESS_NAME" ""
|
||||
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_BUFFER" "00000000,00000000,0,0"
|
||||
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_COLOR" "0,0,0,0"
|
||||
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_COMB_ADDRESS" ",,,,"
|
||||
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_COMB_PALETTE" ",,,,"
|
||||
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_PALETTE_NAME" ""
|
||||
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_REDRAW_CONTINUOUSLY" "0,2"
|
||||
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_SAMPLEING_RATE" "1000"
|
||||
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ECX_IMAGE_VIEW" "0,0,0,0,0,0"
|
||||
"{AC411480-6F0A-11D5-8EB6-00004CC34E9D}ImageCtrlViews" "0"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchCtrlViews" "4"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth0" "207"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth1" "234"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth12" "116"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth2" "127"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ColWidth3" "200"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000" "pxCurrentRxDesc, 10, 0, P, Col, Hex, N"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0000_SCOPE" "Current Scope,"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001" "pcStatusMessage, 4, 0, P, Col, Hex, MN"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0001_SCOPE" "Current Scope,"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002" "SwitchQueue, 4, 0, P, Col, Hex, MN"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002_SCOPE" "Current Scope,"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003" "CurrentCount, 10, 0, P, Col, Hex, N"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003_SCOPE" "Current Scope,"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004" "pos, 10, 0, P, Col, Hex, N"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004_SCOPE" "Current Scope,"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005" "datastring, 6, 0, P, Col, Hex, MN"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005_SCOPE" "Current Scope,"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0006" "next, 4, 0, C0001, Col, Hex, MN"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "0"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth0" "120"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth1" "150"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth12" "200"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth2" "120"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth3" "200"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ECX_WATCH_ITEMCnt" "0"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth0" "120"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth1" "150"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth12" "200"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth2" "120"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ColWidth3" "200"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd2ECX_WATCH_ITEMCnt" "0"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth0" "120"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth1" "150"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth12" "200"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth2" "120"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ColWidth3" "200"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd3ECX_WATCH_ITEMCnt" "0"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndInitial_Radix" "0"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndInstanceKey0" "{WK_00000001_WATCH}RTOSDemoSessionRX600_E1_E20_SYSTEM"
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndRecentFile_WatchRecord" ""
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndRecentFile_WatchSave" ""
|
||||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWndUpdate_Interval" "100"
|
||||
"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlDCEnable" "1"
|
||||
"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlLocalEchoEnable" "0"
|
||||
"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlLogFileName" ""
|
||||
"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlPortBaudIndex" "0"
|
||||
"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlPortName" ""
|
||||
"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlSendDataTimeout" "50"
|
||||
"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleCtrlViews" "1"
|
||||
"{B39CE26B-928D-4241-BF8F-E15980C81200}DebugConsoleWndInstanceKey0" "{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM"
|
||||
"{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}StartStopCheckAfter" "0"
|
||||
"{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}StartStopCheckBefore" "0"
|
||||
"{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}StartStopExpAfter" ""
|
||||
"{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}StartStopExpBefore" ""
|
||||
"{B6AE2E1F-5221-4A44-91C2-8C3097B41A69}T_SESSION_IS_SAVED" "YES"
|
||||
"{CBEBB610-1516-11D4-8F2D-00409545B67B}ElfDwarf2Objects" "1"
|
||||
"{CBEBB610-1516-11D4-8F2D-00409545B67B}LoadModule0OBJ_ELFDWARF2_ARRAY_EXPAND_LIMIT" "-1"
|
||||
"{CBEBB610-1516-11D4-8F2D-00409545B67B}LoadModule0OBJ_ELFDWARF2_STATIC_MEM_EXPAND" "1"
|
||||
"{EEDC9300-6FBE-11D5-8613-00A024591A38}LocalsCtrlViews" "0"
|
||||
"{EEDC9301-6FBE-11D5-8613-00A024591A38}StackTraceCtrlViews" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlIOFile" ""
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlSaveFileDir" "$(CONFIGDIR)"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlSaveFileName" ""
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOCtrlViews" "1"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOSelection IOWnd0" ""
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth0" "200"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth1" "100"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth2" "108"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ColWidth3" "100"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp0" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp1" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp10" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp100" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp101" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp102" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp103" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp104" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp105" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp106" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp107" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp108" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp109" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp11" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp110" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp111" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp112" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp113" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp114" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp115" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp116" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp117" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp118" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp119" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp12" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp120" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp121" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp122" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp123" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp124" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp125" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp126" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp127" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp128" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp129" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp13" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp130" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp131" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp132" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp133" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp134" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp135" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp136" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp137" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp138" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp139" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp14" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp140" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp141" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp142" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp143" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp144" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp145" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp146" "1"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp147" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp148" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp149" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp15" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp150" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp151" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp152" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp153" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp154" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp155" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp156" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp157" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp158" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp159" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp16" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp160" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp161" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp162" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp163" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp164" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp165" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp166" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp167" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp168" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp169" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp17" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp170" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp171" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp172" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp173" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp174" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp175" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp176" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp177" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp178" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp179" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp18" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp180" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp181" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp182" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp183" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp184" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp185" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp186" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp187" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp188" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp189" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp19" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp190" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp191" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp192" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp193" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp194" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp195" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp196" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp197" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp198" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp199" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp2" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp20" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp200" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp201" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp202" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp203" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp204" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp205" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp206" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp207" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp208" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp209" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp21" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp210" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp211" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp212" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp213" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp214" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp215" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp216" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp217" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp218" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp219" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp22" "1"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp220" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp221" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp222" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp223" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp224" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp225" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp226" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp227" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp228" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp229" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp23" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp230" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp231" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp232" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp233" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp234" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp24" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp25" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp26" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp27" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp28" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp29" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp3" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp30" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp31" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp32" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp33" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp34" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp35" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp36" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp37" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp38" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp39" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp4" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp40" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp41" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp42" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp43" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp44" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp45" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp46" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp47" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp48" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp49" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp5" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp50" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp51" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp52" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp53" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp54" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp55" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp56" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp57" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp58" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp59" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp6" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp60" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp61" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp62" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp63" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp64" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp65" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp66" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp67" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp68" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp69" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp7" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp70" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp71" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp72" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp73" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp74" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp75" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp76" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp77" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp78" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp79" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp8" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp80" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp81" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp82" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp83" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp84" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp85" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp86" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp87" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp88" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp89" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp9" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp90" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp91" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp92" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp93" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp94" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp95" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp96" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp97" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp98" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0Exp99" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ScrollHorz" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd0ScrollVert" "146"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth0" "200"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth1" "100"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth2" "100"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ColWidth3" "100"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ScrollHorz" "0"
|
||||
"{F866DB60-6186-11D5-8BBE-0004E2013C71}IOWnd1ScrollVert" "0"
|
||||
"{F923CED3-3318-4B43-B931-0AE76B289176}TaskTraceCtrlAnalyzeViews" "0"
|
||||
"{F923CED3-3318-4B43-B931-0AE76B289176}TaskTraceCtrlFileSaveDirectory" ""
|
||||
"{F923CED3-3318-4B43-B931-0AE76B289176}TaskTraceCtrlTraceViews" "0"
|
||||
[LANGUAGE]
|
||||
"English"
|
||||
[CONFIG_INFO_VD1]
|
||||
0
|
||||
[CONFIG_INFO_VD2]
|
||||
0
|
||||
[CONFIG_INFO_VD3]
|
||||
0
|
||||
[CONFIG_INFO_VD4]
|
||||
0
|
||||
[WINDOW_POSITION_STATE_DATA_VD1]
|
||||
"Help" "TOOLBAR 0" 59419 1 5 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"QzROM" "TOOLBAR 0" 59419 4 1 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_00000001_CmdLine}ADC_Single_DTC_MTUDefaultSession" "WINDOW" 59422 0 1 "0.50" 230 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0"
|
||||
"{WK_00000001_CmdLine}" "WINDOW" 59422 0 1 "0.07" 172 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0"
|
||||
"{WK_00000001_DEBUGCONSOLE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 300 0 0 350 200 17 0 "57634|57637|57633|<<separator>>|32781|32782|<<separator>>|32780|32785|32787" "0.0"
|
||||
"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 -4 -23 936 558 9 0 "" "0.0"
|
||||
"{WK_00000001_IO}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 1 "0.50" 172 0 0 869 657 17 0 "32817|32826|32819|32820|32821" "0.0"
|
||||
"{WK_00000001_MEMORY}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "1.00" 219 1452 519 1033 219 2053 0 "42202|42203|42204|42233|<<separator>>|42206|42205|42230|42229|42207|<<separator>>|42208|42209|42210|49076|42228|42227|<<separator>>|42231|42232|42234|42235|<<separator>>|42211|<<separator>>" "0.0"
|
||||
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 0 "1.00" 172 560 340 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
|
||||
"{WK_00000001_REGISTERS}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 1 "1.00" 300 0 0 350 200 2065 0 "" "0.0"
|
||||
"{WK_00000001_STACKTRACE}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59422 0 0 "0.50" 277 0 0 350 200 2065 0 "" "0.0"
|
||||
"{WK_00000001_WATCH}RTOSDemoSessionRX600_E1_E20_SYSTEM" "WINDOW" 59421 0 0 "0.50" 300 0 0 1040 307 17 0 "32781|32783|<<separator>>|32771|32829|32772|32827|32773|<<separator>>|32786|<<separator>>|32810|32811" "0.0"
|
||||
"{WK_00000002_WORKSPACE}" "WINDOW" 59420 0 0 "1.00" 260 560 340 350 200 18 0 "" "0.0"
|
||||
"{WK_TB00000001_STANDARD}" "TOOLBAR 0" 59419 0 3 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||||
"{WK_TB00000002_EDITOR}" "TOOLBAR 0" 59419 0 0 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||||
"{WK_TB00000003_BOOKMARKS}" "TOOLBAR 0" 59419 1 1 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000004_TEMPLATES}" "TOOLBAR 0" 59419 1 0 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000005_SEARCH}" "TOOLBAR 0" 59419 0 2 "0.00" 0 0 0 0 0 18 0 "" "0.0"
|
||||
"{WK_TB00000007_DEBUG}" "TOOLBAR 0" 59419 0 1 "0.00" 0 914 231 0 0 18 0 "" "0.0"
|
||||
"{WK_TB00000008_DEBUGRUN}" "TOOLBAR 0" 59419 3 0 "0.00" 0 298 189 0 0 18 0 "" "0.0"
|
||||
"{WK_TB00000009_VERSIONCONTROL}" "TOOLBAR 0" 59419 1 3 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000011_CPU}" "TOOLBAR 0" 0 0 0 "0.00" 0 427 225 0 0 5 0 "" "0.0"
|
||||
"{WK_TB00000012_MAP}" "TOOLBAR 0" 59419 1 4 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000013_SYMBOL}" "TOOLBAR 0" 0 0 0 "0.00" 0 800 233 0 0 5 0 "" "0.0"
|
||||
"{WK_TB00000014_CODE}" "TOOLBAR 0" 59419 2 3 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000015_PERFORMANCE}" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000016_GRAPHIC}" "TOOLBAR 0" 59419 2 2 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000017_FDT}" "TOOLBAR 0" 59419 4 0 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000018_DEFAULTWINDOW}" "TOOLBAR 0" 59419 1 2 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000023_RTOS}" "TOOLBAR 0" 59419 2 5 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000025_HELPSYSTEMTOOL}" "TOOLBAR 0" 59419 0 0 "0.00" 0 788 192 0 0 5 0 "" "0.0"
|
||||
"{WK_TB00000026_MACRO}" "TOOLBAR 0" 59419 1 6 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000027_EVENT}" "TOOLBAR 0" 59419 2 1 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
"{WK_TB00000028_RTOSDEBUG}" "TOOLBAR 0" 59419 0 0 "0.00" 0 559 254 0 0 5 0 "" "0.0"
|
||||
"{WK_TB00000029_SYSTEMTOOL}" "TOOLBAR 0" 59419 2 0 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||||
[WINDOW_POSITION_STATE_DATA_VD2]
|
||||
[WINDOW_POSITION_STATE_DATA_VD3]
|
||||
[WINDOW_POSITION_STATE_DATA_VD4]
|
||||
[WINDOW_Z_ORDER]
|
||||
"{WK_TB00000028_RTOSDEBUG} TOOLBAR 0"
|
||||
"{WK_TB00000025_HELPSYSTEMTOOL} TOOLBAR 0"
|
||||
[TARGET_NAME]
|
||||
"RX E1/E20 SYSTEM" "" 0
|
||||
[STATUSBAR_STATEINFO_VD1]
|
||||
"MasterShowState" 1
|
||||
"ApplicationShowState" 1
|
||||
"DebuggerShowState" 1
|
||||
[STATUSBAR_STATEINFO_VD2]
|
||||
"MasterShowState" 1
|
||||
"ApplicationShowState" 1
|
||||
"DebuggerShowState" 1
|
||||
[STATUSBAR_STATEINFO_VD3]
|
||||
"MasterShowState" 1
|
||||
"ApplicationShowState" 1
|
||||
"DebuggerShowState" 1
|
||||
[STATUSBAR_STATEINFO_VD4]
|
||||
"MasterShowState" 1
|
||||
"ApplicationShowState" 1
|
||||
"DebuggerShowState" 1
|
||||
[STATUSBAR_DEBUGGER_PANESTATE_VD1]
|
||||
"SBK_TAR_EMUE100|Exception" 1
|
||||
"SBK_TAR_EMUE100|BreakCondition" 1
|
||||
"SBK_TAR_EMUE100|TaskID" 1
|
||||
"SBK_TAR_EMUE100|ExecutionTime" 1
|
||||
"SBK_TAR_EMUE100|PC" 1
|
||||
[STATUSBAR_DEBUGGER_PANESTATE_VD2]
|
||||
[STATUSBAR_DEBUGGER_PANESTATE_VD3]
|
||||
[STATUSBAR_DEBUGGER_PANESTATE_VD4]
|
||||
[DEBUGGER_OPTIONS]
|
||||
""
|
||||
[DOWNLOAD_MODULES]
|
||||
"C:\Work\RX\RX200\FreeRTOSV7.0.1\Demo\RX200_RX210-RSK_Renesas\RTOSDemo\Debug_with_optimisation\RTOSDemo.abs" 0 "Elf/Dwarf2" 0 0 1 0
|
||||
[CONNECT_ON_GO]
|
||||
"FALSE"
|
||||
[DOWNLOAD_MODULES_AFTER_BUILD]
|
||||
"TRUE"
|
||||
[REMOVE_BREAKPOINTS_ON_DOWNLOAD]
|
||||
"FALSE"
|
||||
[DISABLE_MEMORY_ACCESS_PRIOR_TO_COMMAND_FILE_EXECUTION]
|
||||
"FALSE"
|
||||
[LIMIT_DISASSEMBLY_MEMORY_ACCESS]
|
||||
"FALSE"
|
||||
[DISABLE_MEMORY_ACCESS_DURING_EXECUTION]
|
||||
"FALSE"
|
||||
[DEBUGGER_OPTIONS_PROPERTIES]
|
||||
"1"
|
||||
[COMMAND_FILES]
|
||||
[DEFAULT_DEBUG_FORMAT]
|
||||
"Elf/Dwarf2"
|
||||
[FLASH_DETAILS]
|
||||
"0.000000" 0 0 "" 0 "" 0 0 "" 1 1 0 0 0 0 0 "" "" "" "" ""
|
||||
[BREAKPOINTS]
|
||||
[END]
|
@ -0,0 +1,445 @@
|
||||
/*------------------------------------------------------------------------/
|
||||
/ EZ-LCD - Generic control module for HD44780 LCDC - R0.01c
|
||||
/-------------------------------------------------------------------------/
|
||||
/
|
||||
/ Copyright (C) 2010, ChaN, all right reserved.
|
||||
/
|
||||
/ * This software is a free software and there is NO WARRANTY.
|
||||
/ * No restriction on use. You can use, modify and redistribute it for
|
||||
/ personal, non-profit or commercial products UNDER YOUR RESPONSIBILITY.
|
||||
/ * Redistributions of source code must retain the above copyright notice.
|
||||
/
|
||||
/-------------------------------------------------------------------------/
|
||||
/ Nov 12,'10 R0.01c First release.
|
||||
/------------------------------------------------------------------------*/
|
||||
#include <machine.h>
|
||||
#include "hd44780.h"
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
/* Platform dependent macros and functions needed to be modified */
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/* Bus controls */
|
||||
#include "iodefine.h" /* Device specific include file */
|
||||
#include "rskrx62ndef.h"
|
||||
|
||||
#define IF_BUS 4 /* Data bus width (4 or 8) */
|
||||
#define IF_INIT() {} /* Initialize control port */
|
||||
#define E1_HIGH() LCD_EN = 1 /* Set E(E1) high */
|
||||
#define E1_LOW() LCD_EN = 0 /* Set E(E1) low */
|
||||
#define E2_HIGH() /* Set E2 high (dual controller only) */
|
||||
#define E2_LOW() /* Set E2 low (dual controller only) */
|
||||
#define RS_HIGH() LCD_RS = 1 /* Set RS high */
|
||||
#define RS_LOW() LCD_RS = 0 /* Set RS low */
|
||||
#define OUT_DATA(d) LCD_DATA = (d & 0x0F)//LCD_DATA = ((LCD_DATA & 0xF0) | (d & 0x0F)) /* Output a byte d on the data bus (higher 4 bits of d in 4-bit mode) */
|
||||
#define IF_DLY60() {nop();nop();nop(); } /* Delay >=60ns (can be blanked for most uC) */
|
||||
#define IF_DLY450() {unsigned long x; for(x=0; x<22; x++){nop();}} /* Delay >=450ns@3V, >=250ns@5V */
|
||||
#define DELAY_US(n) {unsigned long x; for(x=0; x<(n*50); x++){nop();}} /* Delay n microseconds */
|
||||
|
||||
/* Characteristics of LCD module */
|
||||
#define LCD_ETIME_1 1530 /* Execution time of Clear Display command [us] */
|
||||
#define LCD_ETIME_2 43 /* Execution time of other command and data write [us] */
|
||||
#define LCD_DLF 2.0 /* Delay factor (>=2.0) */
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
#if _LCD_ROWS >= 2 || _LCD_COLS > 8
|
||||
#define LCD_IF_2ROW 8 /* 2-row cfg. */
|
||||
#if _LCD_ROWS == 1
|
||||
#define LCD_IF_SPLIT 1 /* Half split row */
|
||||
#else
|
||||
#define LCD_IF_SPLIT 0 /* Direct row */
|
||||
#endif
|
||||
#else
|
||||
#define LCD_IF_2ROW 0 /* 1-row cfg. */
|
||||
#endif
|
||||
|
||||
#if _LCD_ROWS == 4 && _LCD_COLS <= 20
|
||||
#define LCD_IF_ALTROW 1 /* Alternate row layout */
|
||||
#else
|
||||
#define LCD_IF_ALTROW 0 /* Incremental row layout */
|
||||
#endif
|
||||
|
||||
#if _LCD_ROWS == 4 && _LCD_COLS > 20
|
||||
#define LCD_IF_DUAL 1 /* Dual controller */
|
||||
#else
|
||||
#define LCD_IF_DUAL 0 /* Single controller */
|
||||
#endif
|
||||
|
||||
#define LCD_DT1 ((uint16_t)(LCD_ETIME_1 * LCD_DLF))
|
||||
#define LCD_DT2 ((uint16_t)(LCD_ETIME_2 * LCD_DLF))
|
||||
|
||||
|
||||
|
||||
static
|
||||
uint8_t Row, Column; /* Current cursor position */
|
||||
#if _USE_CURSOR
|
||||
static
|
||||
uint8_t Csr; /* Current cursor state */
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/*----------------------------------------------*/
|
||||
/* Write a byte to the LCD controller */
|
||||
/*----------------------------------------------*/
|
||||
|
||||
static
|
||||
void lcd_write (
|
||||
uint8_t reg, /* b0:command(0)/data(1), b2..1:E1(2)/E2(1)/both(0)(don't care on single controller), b3:write high nibble only(don't care on 8-bit bus) */
|
||||
uint8_t dat /* Byte to be written */
|
||||
)
|
||||
{
|
||||
if (reg & 1) /* Select register */
|
||||
RS_HIGH();
|
||||
else
|
||||
RS_LOW();
|
||||
IF_DLY60();
|
||||
|
||||
#if IF_BUS == 4
|
||||
if (!(reg & 8)) {
|
||||
OUT_DATA(dat);
|
||||
#if LCD_IF_DUAL
|
||||
if (!(reg & 2)) E1_HIGH();
|
||||
if (!(reg & 4)) E2_HIGH();
|
||||
IF_DLY450();
|
||||
E1_LOW();
|
||||
E2_LOW();
|
||||
#else
|
||||
E1_HIGH();
|
||||
IF_DLY450();
|
||||
E1_LOW();
|
||||
#endif
|
||||
IF_DLY450();
|
||||
dat <<= 4;
|
||||
}
|
||||
#endif
|
||||
|
||||
OUT_DATA(dat);
|
||||
#if LCD_IF_DUAL
|
||||
if (!(reg & 2)) E1_HIGH();
|
||||
if (!(reg & 4)) E2_HIGH();
|
||||
IF_DLY450();
|
||||
E1_LOW();
|
||||
E2_LOW();
|
||||
#else
|
||||
E1_HIGH();
|
||||
IF_DLY450();
|
||||
E1_LOW();
|
||||
#endif
|
||||
|
||||
DELAY_US(LCD_DT2); /* Always use timer */
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Initialize LCD module */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
void lcd_init (void)
|
||||
{
|
||||
uint8_t d;
|
||||
|
||||
E1_HIGH();
|
||||
DELAY_US(40000);
|
||||
E1_LOW();
|
||||
|
||||
// IF_INIT();
|
||||
|
||||
// DELAY_US(40000);
|
||||
lcd_write(8, 0x30);
|
||||
DELAY_US(4100);
|
||||
lcd_write(8, 0x30);
|
||||
DELAY_US(100);
|
||||
lcd_write(8, 0x30);
|
||||
|
||||
d = (IF_BUS == 4 ? 0x20 : 0x30) | LCD_IF_2ROW;
|
||||
lcd_write(8, d);
|
||||
#if IF_BUS == 4
|
||||
lcd_write(0, d);
|
||||
#endif
|
||||
lcd_write(0, 0x08);
|
||||
lcd_write(0, 0x01);
|
||||
DELAY_US(LCD_DT1);
|
||||
lcd_write(0, 0x06);
|
||||
lcd_write(0, 0x0C);
|
||||
|
||||
Row = Column = 0;
|
||||
#if _USE_CURSOR
|
||||
Csr = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Set cursor position */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
void lcd_locate (
|
||||
uint8_t row, /* Cursor row position (0.._LCD_ROWS-1) */
|
||||
uint8_t col /* Cursor column position (0.._LCD_COLS-1) */
|
||||
)
|
||||
{
|
||||
Row = row; Column = col;
|
||||
|
||||
if (row < _LCD_ROWS && col < _LCD_COLS) {
|
||||
if (_LCD_COLS >= 2 && (row & 1)) col += 0x40;
|
||||
if (LCD_IF_SPLIT && col >= _LCD_COLS / 2) col += 0x40 - _LCD_COLS / 2;
|
||||
if (LCD_IF_ALTROW && (row & 2)) col += _LCD_COLS;
|
||||
col |= 0x80;
|
||||
} else {
|
||||
col = 0x0C;
|
||||
}
|
||||
|
||||
#if LCD_IF_DUAL
|
||||
if (_USE_CURSOR && !(row &= 2)) row |= 4;
|
||||
lcd_write(row, col);
|
||||
#if _USE_CURSOR
|
||||
if (col != 0x0C) lcd_write(row, Csr | 0x0C);
|
||||
row ^= 6;
|
||||
lcd_write(row, 0x0C);
|
||||
#endif
|
||||
#else
|
||||
lcd_write(0, col);
|
||||
#if _USE_CURSOR
|
||||
if (col != 0x0C) lcd_write(0, Csr | 0x0C);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Put a character */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
void lcd_putc (
|
||||
uint8_t chr
|
||||
)
|
||||
{
|
||||
if (chr == '\f') { /* Clear Screen and Return Home */
|
||||
lcd_write(0, 0x01);
|
||||
DELAY_US(LCD_DT1);
|
||||
lcd_locate(0, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (Row >= _LCD_ROWS) return;
|
||||
|
||||
if (chr == '\r') { /* Cursor return */
|
||||
lcd_locate(Row, 0);
|
||||
return;
|
||||
}
|
||||
if (chr == '\n') { /* Next row */
|
||||
lcd_locate(Row + 1, 0);
|
||||
return;
|
||||
}
|
||||
if (chr == '\b') { /* Cursor back */
|
||||
if (Column)
|
||||
lcd_locate(Row, Column - 1);
|
||||
return;
|
||||
}
|
||||
|
||||
if (Column >= _LCD_COLS) return;
|
||||
|
||||
lcd_write((LCD_IF_DUAL && Row >= 2) ? 3 : 5, chr);
|
||||
Column++;
|
||||
|
||||
if (LCD_IF_SPLIT && Column == _LCD_COLS / 2)
|
||||
lcd_write(0, 0x40);
|
||||
|
||||
if (Column >= _LCD_COLS)
|
||||
lcd_locate(Row + 1, 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Set cursor form */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
#if _USE_CURSOR
|
||||
void lcd_cursor (
|
||||
uint8_t stat /* 0:off, 1:blinking block, 2:under-line */
|
||||
)
|
||||
{
|
||||
Csr = stat & 3;
|
||||
lcd_locate(Row, Column);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Register user character pattern */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
#if _USE_CGRAM
|
||||
void lcd_setcg (
|
||||
uint8_t chr, /* Character code to be registered (0..7) */
|
||||
uint8_t n, /* Number of characters to register */
|
||||
const uint8_t* p /* Pointer to the character pattern (8 * n bytes) */
|
||||
)
|
||||
{
|
||||
lcd_write(0, 0x40 | chr * 8);
|
||||
n *= 8;
|
||||
do
|
||||
lcd_write(1, *p++);
|
||||
while (--n);
|
||||
|
||||
lcd_locate(Row, Column);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Put a fuel indicator */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
#if _USE_FUEL && _USE_CGRAM
|
||||
void lcd_put_fuel (
|
||||
int8_t val, /* Fuel level (-1:plugged, 0:empty cell, ..., 5:full cell) */
|
||||
uint8_t chr /* User character to use */
|
||||
)
|
||||
{
|
||||
static const uint8_t plg[8] = {10,10,31,31,14,4,7,0};
|
||||
uint8_t gfx[8], d, *p;
|
||||
int8_t i;
|
||||
|
||||
|
||||
if (val >= 0) { /* Cell (0..5) */
|
||||
p = &gfx[8];
|
||||
*(--p) = 0; *(--p) = 0x1F;
|
||||
for (i = 1; i <= 5; i++) {
|
||||
d = 0x1F;
|
||||
if (val < i) d = (i == 5) ? 0x1B : 0x11;
|
||||
*(--p) = d;
|
||||
}
|
||||
*(--p) = 0x0E;
|
||||
} else { /* Plug (-1) */
|
||||
p = (uint8_t*)plg;
|
||||
}
|
||||
lcd_setcg(chr, 1, p);
|
||||
lcd_putc(chr);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Draw bargraph */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
#if _USE_BAR && _USE_CGRAM
|
||||
void lcd_put_bar (
|
||||
uint16_t val, /* Bar length (0 to _MAX_BAR represents bar length from left end) */
|
||||
uint8_t width, /* Display area (number of chars from cursor position) */
|
||||
uint8_t chr /* User character code (2 chars used from this) */
|
||||
)
|
||||
{
|
||||
static const uint8_t ptn[] = {
|
||||
0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0x80, 0,
|
||||
0xF0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0,
|
||||
0xF0, 0xF0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0
|
||||
};
|
||||
const uint8_t *pp;
|
||||
uint16_t n, m, s, gi;
|
||||
uint8_t gfx[16];
|
||||
|
||||
|
||||
for (n = 0; n < 16; n++) /* Register common pattern (space/fill) */
|
||||
gfx[n] = n < 7 ? 0 : 0xFF;
|
||||
lcd_setcg(_BASE_GRAPH, 2, gfx);
|
||||
|
||||
/* Draw edge pattern into gfx[] */
|
||||
val = (unsigned long)val * (width * 18) / (_MAX_BAR + 1);
|
||||
pp = &ptn[(val % 3) * 8]; /* Get edge pattern */
|
||||
s = val / 3 % 6; /* Bit shift */
|
||||
for (n = 0; n < 7; n++) { /* Draw edge pattern into the pattern buffer */
|
||||
m = (*pp++ | 0xFF00) >> s;
|
||||
gfx[n] = m;
|
||||
gfx[n + 8] = m >> 6;
|
||||
}
|
||||
|
||||
/* Put graphic pattern into the LCD module */
|
||||
gi = val / 18; /* Indicator start position */
|
||||
for (n = 1; n <= width; n++) { /* Draw each location in the bargraph */
|
||||
if (n == gi) { /* When edge pattern is exist at the location */
|
||||
m = chr + 1; /* A edge pattern */
|
||||
} else {
|
||||
if (n == gi + 1) {
|
||||
lcd_setcg(chr, 2, gfx); /* Register edge pattern */
|
||||
m = chr;
|
||||
} else {
|
||||
m = (n >= gi) ? _BASE_GRAPH : _BASE_GRAPH + 1; /* A space or fill */
|
||||
}
|
||||
}
|
||||
lcd_putc(m); /* Put the character into the LCD */
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* Draw point indicator */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
#if _USE_POINT && _USE_CGRAM
|
||||
void lcd_put_point (
|
||||
uint16_t val, /* Dot position (0 to _MAX_POINT represents left end to write end) */
|
||||
uint8_t width, /* Display area (number of chars from cursor position) */
|
||||
uint8_t chr /* User character code (2 chars used from this) */
|
||||
)
|
||||
{
|
||||
static const uint8_t ptn[] = {
|
||||
0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0,
|
||||
0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0,
|
||||
0x06, 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0
|
||||
};
|
||||
const uint8_t *pp;
|
||||
uint16_t n, m, s, gi;
|
||||
uint8_t gfx[16];
|
||||
|
||||
|
||||
for (n = 0; n < 16; n++) /* Register common pattern (space) */
|
||||
gfx[n] = n < 7 ? 0 : 0xFF;
|
||||
lcd_setcg(_BASE_GRAPH, 1, gfx);
|
||||
|
||||
/* Draw edge pattern into gfx[] */
|
||||
val = (uint32_t)val * (width * 18 - 12) / (_MAX_BAR + 1);
|
||||
pp = &ptn[(val % 3) * 8]; /* Get edge pattern */
|
||||
s = val / 3 % 6; /* Bit shift */
|
||||
for (n = 0; n < 7; n++) { /* Draw edge pattern into the pattern buffer */
|
||||
m = *pp++; m <<= 6; m >>= s;
|
||||
gfx[n] = m;
|
||||
gfx[n + 8] = m >> 6;
|
||||
}
|
||||
lcd_setcg(chr, 2, gfx); /* Register dot pattern */
|
||||
|
||||
/* Put graphic pattern into the LCD module */
|
||||
gi = val / 18; /* Indicator start position */
|
||||
for (n = 0; n < width; n++) { /* Draw each location in the bargraph */
|
||||
if (n == gi) { /* When edge pattern is exist at the location */
|
||||
m = chr + 1; /* A edge pattern */
|
||||
} else {
|
||||
if (n == gi + 1)
|
||||
m = chr;
|
||||
else
|
||||
m = _BASE_GRAPH; /* A space */
|
||||
}
|
||||
lcd_putc(m); /* Put the character into the LCD */
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -0,0 +1,56 @@
|
||||
/*-----------------------------------------------------------------------*/
|
||||
/* EZ-LCD - Generic control module include/configuration file */
|
||||
/*-----------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _EZ_LCD
|
||||
#define _EZ_LCD
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* Configuration Options */
|
||||
/*--------------------------------------------------*/
|
||||
|
||||
#define _LCD_ROWS 2 /* Number of Rows (1,2 or 4) */
|
||||
#define _LCD_COLS 8 /* Number of Columns (8..40) */
|
||||
|
||||
#define _USE_CURSOR 0 /* 1:Enable lcd_cursor function */
|
||||
#define _USE_CGRAM 0 /* 1:Enable lcd_setcg function */
|
||||
|
||||
#define _USE_FUEL 0 /* 1:Enable lcd_put_fuel function (_USE_CGRAM must be 1) */
|
||||
|
||||
#define _USE_BAR 0 /* 1:Enable lcd_put_bar function (_USE_CGRAM must be 1) */
|
||||
#define _MAX_BAR 255 /* Maximum value for lcd_put_bar function */
|
||||
|
||||
#define _USE_POINT 0 /* 1:Enable lcd_put_point function (_USE_CGRAM must be 1) */
|
||||
#define _MAX_POINT 255 /* Maximum value for lcd_put_point function */
|
||||
|
||||
#define _BASE_GRAPH 0 /* Common user character used by lcd_put_bar/lcd_put_point function (2 chars from this) */
|
||||
|
||||
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* API declareations */
|
||||
/*--------------------------------------------------*/
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void lcd_init (void);
|
||||
void lcd_locate (uint8_t, uint8_t);
|
||||
void lcd_putc (uint8_t);
|
||||
void lcd_cursor (uint8_t);
|
||||
void lcd_setcg (uint8_t, uint8_t, const uint8_t*);
|
||||
void lcd_put_fuel (int8_t, uint8_t);
|
||||
void lcd_put_bar (uint16_t, uint8_t, uint8_t);
|
||||
void lcd_put_point (uint16_t, uint8_t, uint8_t);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#define CSR_OFF 0
|
||||
#define CSR_BLOCK 1
|
||||
#define CSR_UNDER 2
|
||||
|
||||
|
||||
#endif /* #ifndef _EZLCD */
|
@ -0,0 +1,62 @@
|
||||
/*
|
||||
FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* If you are: *
|
||||
* *
|
||||
* + New to FreeRTOS, *
|
||||
* + Wanting to learn FreeRTOS or multitasking in general quickly *
|
||||
* + Looking for basic training, *
|
||||
* + Wanting to improve your FreeRTOS skills and productivity *
|
||||
* *
|
||||
* then take a look at the FreeRTOS books - available as PDF or paperback *
|
||||
* *
|
||||
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
|
||||
* http://www.FreeRTOS.org/Documentation *
|
||||
* *
|
||||
* A pdf reference manual is also available. Both are usually delivered *
|
||||
* to your inbox within 20 minutes to two hours when purchased between 8am *
|
||||
* and 8pm GMT (although please allow up to 24 hours in case of *
|
||||
* exceptional circumstances). Thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
***NOTE*** The exception to the GPL is included to allow you to distribute
|
||||
a combined work that includes FreeRTOS without being obliged to provide the
|
||||
source code for proprietary components outside of the FreeRTOS kernel.
|
||||
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, latest information, license and
|
||||
contact details.
|
||||
|
||||
http://www.SafeRTOS.com - A version that is certified for use in safety
|
||||
critical systems.
|
||||
|
||||
http://www.OpenRTOS.com - Commercial support, development, porting,
|
||||
licensing and training services.
|
||||
*/
|
||||
|
||||
#ifndef INT_QUEUE_TIMER_H
|
||||
#define INT_QUEUE_TIMER_H
|
||||
|
||||
void vInitialiseTimerForIntQueueTest( void );
|
||||
portBASE_TYPE xTimer0Handler( void );
|
||||
portBASE_TYPE xTimer1Handler( void );
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,13 @@
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
/* FILE :lowsrc.h */
|
||||
/* DATE :Wed, Aug 11, 2010 */
|
||||
/* DESCRIPTION :Header file of I/O Stream file */
|
||||
/* CPU TYPE :Other */
|
||||
/* */
|
||||
/* This file is generated by Renesas Project Generator (Ver.4.50). */
|
||||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
/*Number of I/O Stream*/
|
||||
#define IOSTREAM 20
|
@ -0,0 +1,103 @@
|
||||
|
||||
/******************************************************************************
|
||||
* DISCLAIMER
|
||||
* Please refer to http://www.renesas.com/disclaimer
|
||||
******************************************************************************
|
||||
Copyright (C) 2008. Renesas Technology Corp., All Rights Reserved.
|
||||
*******************************************************************************
|
||||
* File Name : rsksh7216.h
|
||||
* Version : 1.00
|
||||
* Description : RSK 7216 board specific settings
|
||||
******************************************************************************
|
||||
* History : DD.MM.YYYY Version Description
|
||||
* : 06.10.2009 1.00 First Release
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef RSKRX62N_H
|
||||
#define RSKRX62N_H
|
||||
|
||||
/******************************************************************************
|
||||
Includes <System Includes> , "Project Includes"
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Typedef definitions
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Macro definitions
|
||||
******************************************************************************/
|
||||
|
||||
/* System Clock Settings */
|
||||
|
||||
/* DETAIL THIS LATER !!!! */
|
||||
|
||||
#define XTAL_FREQUENCY (50000000L)
|
||||
#define ICLK_MUL (1)
|
||||
#define PCLK_MUL (2)
|
||||
#define BCLK_MUL (2)
|
||||
#define ICLK_FREQUENCY (XTAL_FREQUENCY * ICLK_MUL)
|
||||
#define PCLK_FREQUENCY (XTAL_FREQUENCY / PCLK_MUL)
|
||||
#define BCLK_FREQUENCY (XTAL_FREQUENCY / BCLK_MUL)
|
||||
|
||||
#define CMT0_CLK_SELECT (512)
|
||||
|
||||
/* General Values */
|
||||
#define LED_ON (0)
|
||||
#define LED_OFF (1)
|
||||
#define SET_BIT_HIGH (1)
|
||||
#define SET_BIT_LOW (0)
|
||||
#define SET_BYTE_HIGH (0xFF)
|
||||
#define SET_BYTE_LOW (0x00)
|
||||
|
||||
/* Define switches to be polled if not available as interrupts */
|
||||
#define SW_ACTIVE FALSE
|
||||
#define SW1 PORT0.DR.BIT.B0
|
||||
#define SW2 PORT0.DR.BIT.B1
|
||||
#define SW3 PORT0.DR.BIT.B7
|
||||
#define SW1_DDR PORT0.DDR.BIT.B0
|
||||
#define SW2_DDR PORT0.DDR.BIT.B1
|
||||
#define SW3_DDR PORT0.DDR.BIT.B7
|
||||
#define SW1_ICR PORT0.ICR.BIT.B0
|
||||
#define SW2_ICR PORT0.ICR.BIT.B1
|
||||
#define SW3_ICR PORT0.ICR.BIT.B7
|
||||
|
||||
/* LEDs */
|
||||
#define LED0 PORT1.PODR.BIT.B4
|
||||
#define LED1 PORT1.PODR.BIT.B5
|
||||
#define LED2 PORT1.PODR.BIT.B6
|
||||
#define LED3 PORT1.PODR.BIT.B7
|
||||
//#define LED4 PORT6.DR.BIT.B0
|
||||
//#define LED5 PORT7.DR.BIT.B3
|
||||
#define LED0_DDR PORT1.PDR.BIT.B4
|
||||
#define LED1_DDR PORT1.PDR.BIT.B5
|
||||
#define LED2_DDR PORT1.PDR.BIT.B6
|
||||
#define LED3_DDR PORT1.PDR.BIT.B7
|
||||
//#define LED4_DDR PORT6.DDR.BIT.B0
|
||||
//#define LED5_DDR PORT7.DDR.BIT.B3
|
||||
|
||||
/* 2x8 segment LCD */
|
||||
#define INCLUDE_LCD 1
|
||||
#define LCD_RS PORTJ.PODR.BIT.B1
|
||||
#define LCD_EN PORTJ.PODR.BIT.B3
|
||||
#define LCD_DATA PORTH.PODR.BYTE
|
||||
|
||||
#define LCD_RS_DDR PORTJ.PDR.BIT.B1
|
||||
#define LCD_EN_DDR PORTJ.PDR.BIT.B3
|
||||
#define LCD_DATA_DDR PORTH.PDR.BYTE
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Variable Externs
|
||||
******************************************************************************/
|
||||
|
||||
/******************************************************************************
|
||||
Functions Prototypes
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
|
||||
/* RSKRX62N_H */
|
||||
#endif
|
||||
|
@ -0,0 +1,13 @@
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
/* FILE :stacksct.h */
|
||||
/* DATE :Wed, Aug 11, 2010 */
|
||||
/* DESCRIPTION :Setting of Stack area */
|
||||
/* CPU TYPE :Other */
|
||||
/* */
|
||||
/* This file is generated by Renesas Project Generator (Ver.4.50). */
|
||||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
#pragma stacksize su=0x300
|
||||
#pragma stacksize si=0x100
|
@ -0,0 +1,41 @@
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
/* FILE :typedefine.h */
|
||||
/* DATE :Wed, Aug 11, 2010 */
|
||||
/* DESCRIPTION :Aliases of Integer Type */
|
||||
/* CPU TYPE :Other */
|
||||
/* */
|
||||
/* This file is generated by Renesas Project Generator (Ver.4.50). */
|
||||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Device : RX
|
||||
*
|
||||
* File Name : typedefine.h
|
||||
*
|
||||
* Abstract : Aliases of Integer Type.
|
||||
*
|
||||
* History : 1.00 (2009-08-07)
|
||||
*
|
||||
* NOTE : THIS IS A TYPICAL EXAMPLE.
|
||||
*
|
||||
* Copyright(c) 2009 Renesas Technology Corp.
|
||||
* And Renesas Solutions Corp.,All Rights Reserved.
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
typedef signed char _SBYTE;
|
||||
typedef unsigned char _UBYTE;
|
||||
typedef signed short _SWORD;
|
||||
typedef unsigned short _UWORD;
|
||||
typedef signed int _SINT;
|
||||
typedef unsigned int _UINT;
|
||||
typedef signed long _SDWORD;
|
||||
typedef unsigned long _UDWORD;
|
||||
typedef signed long long _SQWORD;
|
||||
typedef unsigned long long _UQWORD;
|
@ -0,0 +1,60 @@
|
||||
/***********************************************************************/
|
||||
/* */
|
||||
/* FILE :vect.h */
|
||||
/* DATE :Wed, Aug 11, 2010 */
|
||||
/* DESCRIPTION :Definition of Vector */
|
||||
/* CPU TYPE :Other */
|
||||
/* */
|
||||
/* This file is generated by Renesas Project Generator (Ver.4.50). */
|
||||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||||
/* */
|
||||
/***********************************************************************/
|
||||
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* Device : RX/RX600
|
||||
*
|
||||
* File Name : vect.h
|
||||
*
|
||||
* Abstract : Definition of Vector.
|
||||
*
|
||||
* History : 1.00 (2009-08-07)
|
||||
*
|
||||
* NOTE : THIS IS A TYPICAL EXAMPLE.
|
||||
*
|
||||
* Copyright(c) 2009 Renesas Technology Corp.
|
||||
* And Renesas Solutions Corp.,All Rights Reserved.
|
||||
*
|
||||
*********************************************************************/
|
||||
|
||||
// Exception(Supervisor Instruction)
|
||||
#pragma interrupt (Excep_SuperVisorInst)
|
||||
void Excep_SuperVisorInst(void);
|
||||
|
||||
// Exception(Undefined Instruction)
|
||||
#pragma interrupt (Excep_UndefinedInst)
|
||||
void Excep_UndefinedInst(void);
|
||||
|
||||
// Exception(Floating Point)
|
||||
#pragma interrupt (Excep_FloatingPoint)
|
||||
void Excep_FloatingPoint(void);
|
||||
|
||||
// NMI
|
||||
#pragma interrupt (NonMaskableInterrupt)
|
||||
void NonMaskableInterrupt(void);
|
||||
|
||||
// Dummy
|
||||
#pragma interrupt (Dummy)
|
||||
void Dummy(void);
|
||||
|
||||
// BRK
|
||||
#pragma interrupt (Excep_BRK(vect=0))
|
||||
void Excep_BRK(void);
|
||||
|
||||
//;<<VECTOR DATA START (POWER ON RESET)>>
|
||||
//;Power On Reset PC
|
||||
extern void PowerON_Reset_PC(void);
|
||||
//;<<VECTOR DATA END (POWER ON RESET)>>
|
||||
|
@ -0,0 +1,392 @@
|
||||
/***********************************************************************************
|
||||
Filename: lcd.c
|
||||
DESCRIPTION LCD Module utility functions.
|
||||
Written for KS0066u compatible LCD Module.
|
||||
(8 characters by 2 lines)
|
||||
|
||||
Copyright : 2006 Renesas Technology Europe Ltd.
|
||||
Copyright : 2006 Renesas Technology Corporation.
|
||||
All Rights Reserved
|
||||
|
||||
***********************************************************************************/
|
||||
|
||||
/***********************************************************************************
|
||||
Revision History
|
||||
DD.MM.YYYY OSO-UID Description
|
||||
26.07.2006 RTE-MBA First Release
|
||||
***********************************************************************************/
|
||||
|
||||
/**********************************************************************************
|
||||
System Includes
|
||||
***********************************************************************************/
|
||||
#include <machine.h>
|
||||
|
||||
/**********************************************************************************
|
||||
User Includes
|
||||
***********************************************************************************/
|
||||
/* iodefine.h provides a structure to access all of the device registers. */
|
||||
#include "iodefine.h"
|
||||
/* rsk1664def.h provides common defines for widely used items. */
|
||||
#include "rskrx62ndef.h"
|
||||
#include "lcd.h"
|
||||
|
||||
/* Kernel includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "semphr.h"
|
||||
|
||||
|
||||
/**********************************************************************************
|
||||
Global variables
|
||||
***********************************************************************************/
|
||||
xQueueHandle SwitchQueue;
|
||||
xSemaphoreHandle LCD_Mutex;
|
||||
|
||||
char datastring[]=
|
||||
"........Rx210 Highlights....1.56 DMips/MHz....DSP functions....1.62V-5.5V operation....200 uA/MHz....Up to 512 kBytes Flash....up to 64 kbytes SRAM....EE Dataflash with 100k w/e....1.3 uA in Real Time Clock Mode....Powerful Motor control timer....4 x 16-bit timers....4 x 8-bit timers....Full Real Time Clock calendar with calibration and alarm functions....Up to 16 channels 1 uS 12-bit ADC, with Dual group programmable SCAN, 3 sample and holds, sample accumulate function....DMA controller....Data Transfer Controller....Up to 9 serial Channels....Up to 6 USARTs ( with Simple I2C / SPI )....USART ( with unique Frame based protocol support )....Multimaster IIC....RSPI....Temperature Sensor....Event Link Controller....Comparators....Safety features include CRC....March X....Dual watchdog Timers with window and independent oscillator....ADC self test....I/O Pin Test....Supported with E1 on chip debugger and RSK210 evaluation system....Rx210 Highlights........";
|
||||
|
||||
|
||||
|
||||
struct _LCD_Params Line1 =
|
||||
{
|
||||
LCD_LINE1, 215, datastring
|
||||
};
|
||||
|
||||
struct _LCD_Params Line2 =
|
||||
{
|
||||
LCD_LINE2, 350, datastring
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**********************************************************************************
|
||||
User Program Code
|
||||
***********************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
Name: InitDisplay
|
||||
Parameters: none
|
||||
Returns: none
|
||||
Description: Intializes the LCD display.
|
||||
*****************************************************************************/
|
||||
void InitialiseDisplay( void )
|
||||
{
|
||||
/* Power Up Delay for LCD Module */
|
||||
EN_PIN = SET_BIT_HIGH;
|
||||
DisplayDelay(7000);
|
||||
EN_PIN = SET_BIT_LOW;
|
||||
|
||||
/* Display initialises in 8 bit mode - so send one write (seen as 8 bit)
|
||||
to set to 4 bit mode. */
|
||||
|
||||
/* Function Set */
|
||||
LCD_nibble_write(CTRL_WR,0x03);
|
||||
LCD_nibble_write(CTRL_WR,0x03);
|
||||
DisplayDelay(39);
|
||||
|
||||
/* Configure display */
|
||||
LCD_nibble_write(CTRL_WR,0x03);
|
||||
LCD_nibble_write(CTRL_WR,0x02);
|
||||
LCD_nibble_write(CTRL_WR,(LCD_DISPLAY_ON | LCD_TWO_LINE ));
|
||||
LCD_nibble_write(CTRL_WR,(LCD_DISPLAY_ON | LCD_TWO_LINE ));
|
||||
DisplayDelay(39);
|
||||
|
||||
/* Display ON/OFF control */
|
||||
LCD_write(CTRL_WR,LCD_CURSOR_OFF);
|
||||
DisplayDelay(39);
|
||||
|
||||
/* Display Clear */
|
||||
LCD_write(CTRL_WR,LCD_CLEAR);
|
||||
DisplayDelay(1530);
|
||||
|
||||
/* Entry Mode Set */
|
||||
LCD_write(CTRL_WR,0x06);
|
||||
LCD_write(CTRL_WR,LCD_HOME_L1);
|
||||
}
|
||||
/**********************************************************************************
|
||||
End of function InitialiseDisplay
|
||||
***********************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
Name: DisplayString
|
||||
Parameters: position Line number of display
|
||||
string Pointer to data to be written to display.
|
||||
Last character should be null.
|
||||
Returns: none
|
||||
|
||||
Description: This function controls LCD writes to line 1 or 2 of the LCD.
|
||||
You need to use the defines LCD_LINE1 and LCD_LINE2 in order
|
||||
to specify the starting position.
|
||||
For example, to start at the 2nd position on line 1...
|
||||
DisplayString(LCD_LINE1 + 1, "Hello")
|
||||
*****************************************************************************/
|
||||
void DisplayString(unsigned char position, char * string)
|
||||
{
|
||||
static unsigned char next_pos = 0xFF;
|
||||
|
||||
/* Set line position if needed. We don't want to if we don't need
|
||||
to because LCD control operations take longer than LCD data
|
||||
operations. */
|
||||
if( next_pos != position)
|
||||
{
|
||||
if(position < LCD_LINE2)
|
||||
{
|
||||
/* Display on Line 1 */
|
||||
LCD_write(CTRL_WR, (unsigned char)(LCD_HOME_L1 + position) );
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Display on Line 2 */
|
||||
LCD_write(CTRL_WR, (unsigned char)(LCD_HOME_L2 + position - LCD_LINE2) );
|
||||
}
|
||||
/* set position index to known value */
|
||||
next_pos = position;
|
||||
}
|
||||
|
||||
do
|
||||
{
|
||||
LCD_write(DATA_WR,*string++);
|
||||
/* increment position index */
|
||||
next_pos++;
|
||||
}
|
||||
while(*string);
|
||||
}
|
||||
/**********************************************************************************
|
||||
End of function DisplayString
|
||||
***********************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
Name: LCD_write
|
||||
Parameters: value - the value to write
|
||||
data_or_ctrl - To write value as DATA or CONTROL
|
||||
1 = DATA
|
||||
0 = CONTROL
|
||||
Returns: none
|
||||
|
||||
Description: Writes data to display. Sends command to display.
|
||||
*****************************************************************************/
|
||||
void LCD_write(unsigned char data_or_ctrl, unsigned char value)
|
||||
{
|
||||
/* Write upper nibble first */
|
||||
LCD_nibble_write(data_or_ctrl, (value & 0xF0) >> 4);
|
||||
|
||||
/* Write lower nibble second */
|
||||
LCD_nibble_write(data_or_ctrl, (value & 0x0F));
|
||||
}
|
||||
/**********************************************************************************
|
||||
End of function LCD_write
|
||||
***********************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
Name: LCD_nibble_write
|
||||
Parameters: value - the value to write
|
||||
data_or_ctrl - To write value as DATA or CONTROL
|
||||
1 = DATA
|
||||
0 = CONTROL
|
||||
Returns: none
|
||||
|
||||
Description: Writes data to display. Sends command to display.
|
||||
*****************************************************************************/
|
||||
void LCD_nibble_write(unsigned char data_or_ctrl, unsigned char value)
|
||||
{
|
||||
unsigned char ucStore;
|
||||
if (data_or_ctrl == DATA_WR)
|
||||
{
|
||||
RS_PIN = SET_BIT_HIGH;
|
||||
}
|
||||
else
|
||||
{
|
||||
RS_PIN = SET_BIT_LOW;
|
||||
}
|
||||
/* There must be 40ns between RS write and EN write */
|
||||
DisplayDelay(1);
|
||||
/* EN enable chip (HIGH) */
|
||||
EN_PIN = SET_BIT_HIGH;
|
||||
/* Tiny delay */
|
||||
DisplayDelay(1);
|
||||
/* Clear port bits used */
|
||||
/* Set upper lower 4 bits of nibble on port pins. */
|
||||
ucStore = DATA_PORT;
|
||||
ucStore &= ~DATA_PORT_MASK;
|
||||
/* OR in data */
|
||||
ucStore |= ((value << DATA_PORT_SHIFT) & DATA_PORT_MASK );
|
||||
/* Write lower 4 bits of nibble */
|
||||
DATA_PORT = ucStore;
|
||||
|
||||
/* write delay while En High */
|
||||
DisplayDelay(20);
|
||||
/* Latch data by dropping EN */
|
||||
EN_PIN = SET_BIT_LOW;
|
||||
/* Data hold delay */
|
||||
DisplayDelay(20);
|
||||
|
||||
if(data_or_ctrl == CTRL_WR)
|
||||
{
|
||||
/* Extra delay needed for control writes */
|
||||
DisplayDelay(40);
|
||||
}
|
||||
}
|
||||
/**********************************************************************************
|
||||
End of function LCD_nibble_write
|
||||
***********************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
Name: DisplayDelay
|
||||
Parameters: units - Approximately in microseconds
|
||||
Returns: none
|
||||
|
||||
Description: Delay routine for LCD display.
|
||||
*****************************************************************************/
|
||||
void DisplayDelay(unsigned long int units)
|
||||
{
|
||||
unsigned long counter = units * DELAY_TIMING;
|
||||
while(counter--)
|
||||
{
|
||||
nop(); // ~ 10ns
|
||||
}
|
||||
}
|
||||
/**********************************************************************************
|
||||
End of function DisplayDelay
|
||||
***********************************************************************************/
|
||||
|
||||
|
||||
void prvLCDTaskLine1( void *pvParameters )
|
||||
{
|
||||
#define RIGHT_TO_LEFT 0
|
||||
#define LEFT_TO_RIGHT 1
|
||||
|
||||
struct _LCD_Params *Local_Params = (struct _LCD_Params*)pvParameters;
|
||||
|
||||
char str_lcd[9];
|
||||
unsigned short pos = 0;
|
||||
unsigned char Direction = RIGHT_TO_LEFT;
|
||||
|
||||
for(;;)
|
||||
{
|
||||
vTaskDelay( Local_Params->Speed / portTICK_RATE_MS );
|
||||
|
||||
strncpy(str_lcd, &Local_Params->ptr_str[pos], 8);
|
||||
|
||||
xSemaphoreTake( LCD_Mutex, portMAX_DELAY );
|
||||
DisplayString(Local_Params->Line, str_lcd);
|
||||
xSemaphoreGive( LCD_Mutex );
|
||||
|
||||
if(Direction == RIGHT_TO_LEFT)
|
||||
{
|
||||
pos++;
|
||||
if( pos == strlen(datastring) - 7)
|
||||
{
|
||||
Direction = LEFT_TO_RIGHT;
|
||||
pos--;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pos--;
|
||||
if( pos == 0 )
|
||||
{
|
||||
Direction = RIGHT_TO_LEFT;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void prvLCDTaskLine2( void *pvParameters )
|
||||
{
|
||||
#define RIGHT_TO_LEFT 0
|
||||
#define LEFT_TO_RIGHT 1
|
||||
#define RUNNING 0
|
||||
#define STOPPED 1
|
||||
|
||||
|
||||
struct _LCD_Params *Local_Params = (struct _LCD_Params*)pvParameters;
|
||||
|
||||
char str_lcd[9];
|
||||
unsigned short pos = 0;
|
||||
unsigned char Direction = RIGHT_TO_LEFT;
|
||||
unsigned char Status = RUNNING;
|
||||
|
||||
unsigned char QueueData;
|
||||
portTickType Delay = ( Local_Params->Speed / portTICK_RATE_MS );
|
||||
|
||||
for(;;)
|
||||
{
|
||||
// vTaskDelay( Local_Params->Speed / portTICK_RATE_MS );
|
||||
|
||||
if( xQueueReceive (SwitchQueue, &QueueData, Delay) != pdPASS )
|
||||
{
|
||||
strncpy(str_lcd, &Local_Params->ptr_str[pos], 8);
|
||||
|
||||
xSemaphoreTake( LCD_Mutex, portMAX_DELAY );
|
||||
DisplayString(Local_Params->Line, str_lcd);
|
||||
xSemaphoreGive( LCD_Mutex );
|
||||
|
||||
if(Direction == RIGHT_TO_LEFT)
|
||||
{
|
||||
pos++;
|
||||
if( pos == strlen(datastring) - 7)
|
||||
{
|
||||
Direction = LEFT_TO_RIGHT;
|
||||
pos--;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pos--;
|
||||
if( pos == 0 )
|
||||
{
|
||||
Direction = RIGHT_TO_LEFT;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(QueueData == 0x02) // stop/start
|
||||
{
|
||||
if(Delay != portMAX_DELAY)
|
||||
{
|
||||
Delay = portMAX_DELAY;
|
||||
Status = STOPPED;
|
||||
}
|
||||
else
|
||||
{
|
||||
Delay = ( Local_Params->Speed / portTICK_RATE_MS );
|
||||
Status = RUNNING;
|
||||
}
|
||||
}
|
||||
|
||||
if(QueueData == 0x01) // RIGHT or shift back
|
||||
{
|
||||
if(Status == STOPPED)
|
||||
{
|
||||
if(pos != 0)
|
||||
{
|
||||
pos--;
|
||||
|
||||
strncpy(str_lcd, &Local_Params->ptr_str[pos], 8);
|
||||
|
||||
xSemaphoreTake( LCD_Mutex, portMAX_DELAY );
|
||||
DisplayString(Local_Params->Line, str_lcd);
|
||||
xSemaphoreGive( LCD_Mutex );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(QueueData == 0x03) // LEFT or shift forward
|
||||
{
|
||||
if(Status == STOPPED)
|
||||
{
|
||||
if(pos != strlen(datastring) - 7)
|
||||
{
|
||||
pos++;
|
||||
strncpy(str_lcd, &Local_Params->ptr_str[pos], 8);
|
||||
|
||||
xSemaphoreTake( LCD_Mutex, portMAX_DELAY );
|
||||
DisplayString(Local_Params->Line, str_lcd);
|
||||
xSemaphoreGive( LCD_Mutex );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
#ifndef LCD_H
|
||||
#define LCD_H
|
||||
/***********************************************************************************
|
||||
|
||||
FILE NAME lcd.h
|
||||
|
||||
DESCRIPTION Driver for KS0066u LCD Module Controller (8 characters by 2 lines )
|
||||
on the Renesas RSK boards - header file
|
||||
|
||||
Copyright : 2006 Renesas Technology Europe Ltd.
|
||||
Copyright : 2006 Renesas Technology Corporation.
|
||||
All Rights Reserved
|
||||
***********************************************************************************/
|
||||
|
||||
/***********************************************************************************
|
||||
Revision History
|
||||
DD.MM.YYYY OSO-UID Description
|
||||
26.07.2006 RTE-MBA First Release
|
||||
***********************************************************************************/
|
||||
void InitialiseDisplay( void );
|
||||
void DisplayString(unsigned char position, char * string);
|
||||
void LCD_write(unsigned char data_or_ctrl, unsigned char value);
|
||||
void LCD_nibble_write(unsigned char data_or_ctrl, unsigned char value);
|
||||
void DisplayDelay(unsigned long int units);
|
||||
|
||||
|
||||
#define SET_BIT_HIGH (1)
|
||||
#define SET_BIT_LOW (0)
|
||||
#define SET_BYTE_HIGH (0xFF)
|
||||
#define SET_BYTE_LOW (0x00)
|
||||
|
||||
struct _LCD_Params {
|
||||
unsigned char Line;
|
||||
unsigned short Speed;
|
||||
char *ptr_str;
|
||||
};
|
||||
|
||||
void prvLCDTaskLine1( void *pvParameters );
|
||||
void prvLCDTaskLine2( void *pvParameters );
|
||||
|
||||
|
||||
/* RS Register Select pin */
|
||||
#define RS_PIN PORTJ.PODR.BIT.B1
|
||||
/* Display Enable pin */
|
||||
#define EN_PIN PORTJ.PODR.BIT.B3
|
||||
/* Data bus port */
|
||||
#define DATA_PORT PORTH.PODR.BYTE
|
||||
/* Bit mask from entire port */
|
||||
#define DATA_PORT_MASK 0x0F
|
||||
/* Number of bits data needs to shift */
|
||||
#define DATA_PORT_SHIFT 0
|
||||
|
||||
|
||||
#define DATA_WR 1
|
||||
#define CTRL_WR 0
|
||||
|
||||
/* Set to ensure base delay of 1microS minimum */
|
||||
//#define DELAY_TIMING 0x2F
|
||||
#define DELAY_TIMING 50
|
||||
/* number of lines on the LCD display */
|
||||
#define NUMB_CHARS_PER_LINE 8
|
||||
/* Maximum charactors per line of LCD display. */
|
||||
#define MAXIMUM_LINES 2
|
||||
|
||||
#define LCD_LINE1 0
|
||||
#define LCD_LINE2 16
|
||||
|
||||
/**********************************************************************************/
|
||||
/* LCD commands - use LCD_write function to write these commands to the LCD. */
|
||||
/**********************************************************************************/
|
||||
/* Clear LCD display and home cursor */
|
||||
#define LCD_CLEAR 0x01
|
||||
/* move cursor to line 1 */
|
||||
#define LCD_HOME_L1 0x80
|
||||
/* move cursor to line 2 */
|
||||
#define LCD_HOME_L2 0xC0
|
||||
/* Cursor auto decrement after R/W */
|
||||
#define CURSOR_MODE_DEC 0x04
|
||||
/* Cursor auto increment after R/W */
|
||||
#define CURSOR_MODE_INC 0x06
|
||||
/* Setup, 4 bits,2 lines, 5X7 */
|
||||
#define FUNCTION_SET 0x28
|
||||
/* Display ON with Cursor */
|
||||
#define LCD_CURSOR_ON 0x0E
|
||||
/* Display ON with Cursor off */
|
||||
#define LCD_CURSOR_OFF 0x0C
|
||||
/* Display on with blinking cursor */
|
||||
#define LCD_CURSOR_BLINK 0x0D
|
||||
/*Move Cursor Left One Position */
|
||||
#define LCD_CURSOR_LEFT 0x10
|
||||
/* Move Cursor Right One Position */
|
||||
#define LCD_CURSOR_RIGHT 0x14
|
||||
|
||||
#define LCD_DISPLAY_ON 0x04
|
||||
#define LCD_TWO_LINE 0x08
|
||||
|
||||
#endif
|
@ -0,0 +1,222 @@
|
||||
/*
|
||||
FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* If you are: *
|
||||
* *
|
||||
* + New to FreeRTOS, *
|
||||
* + Wanting to learn FreeRTOS or multitasking in general quickly *
|
||||
* + Looking for basic training, *
|
||||
* + Wanting to improve your FreeRTOS skills and productivity *
|
||||
* *
|
||||
* then take a look at the FreeRTOS books - available as PDF or paperback *
|
||||
* *
|
||||
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
|
||||
* http://www.FreeRTOS.org/Documentation *
|
||||
* *
|
||||
* A pdf reference manual is also available. Both are usually delivered *
|
||||
* to your inbox within 20 minutes to two hours when purchased between 8am *
|
||||
* and 8pm GMT (although please allow up to 24 hours in case of *
|
||||
* exceptional circumstances). Thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
***NOTE*** The exception to the GPL is included to allow you to distribute
|
||||
a combined work that includes FreeRTOS without being obliged to provide the
|
||||
source code for proprietary components outside of the FreeRTOS kernel.
|
||||
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, latest information, license and
|
||||
contact details.
|
||||
|
||||
http://www.SafeRTOS.com - A version that is certified for use in safety
|
||||
critical systems.
|
||||
|
||||
http://www.OpenRTOS.com - Commercial support, development, porting,
|
||||
licensing and training services.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This is a very simple demo that creates two tasks and one queue. One task
|
||||
* (the queue receive task) blocks on the queue to wait for data to arrive,
|
||||
* toggling an LED each time '100' is received. The other task (the queue send
|
||||
* task) repeatedly blocks for a fixed period before sending '100' to the queue
|
||||
* (causing the first task to toggle the LED).
|
||||
*
|
||||
* For a much more complete and complex example select either the Debug or
|
||||
* Debug_with_optimisation build configurations within the HEW IDE.
|
||||
*/
|
||||
|
||||
/* Hardware specific includes. */
|
||||
#include "iodefine.h"
|
||||
|
||||
/* Kernel includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "queue.h"
|
||||
|
||||
/* Priorities at which the tasks are created. */
|
||||
#define configQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
#define configQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
||||
|
||||
/* The rate at which data is sent to the queue, specified in milliseconds. */
|
||||
#define mainQUEUE_SEND_FREQUENCY_MS ( 500 / portTICK_RATE_MS )
|
||||
|
||||
/* The number of items the queue can hold. This is 1 as the receive task
|
||||
will remove items as they are added so the send task should always find the
|
||||
queue empty. */
|
||||
#define mainQUEUE_LENGTH ( 1 )
|
||||
|
||||
/*
|
||||
* The tasks as defined at the top of this file.
|
||||
*/
|
||||
static void prvQueueReceiveTask( void *pvParameters );
|
||||
static void prvQueueSendTask( void *pvParameters );
|
||||
|
||||
/* The queue used by both tasks. */
|
||||
static xQueueHandle xQueue = NULL;
|
||||
|
||||
/* This variable is not used by this simple Blinky example. It is defined
|
||||
purely to allow the project to link as it is used by the full project. */
|
||||
volatile unsigned long ulHighFrequencyTickCount = 0UL;
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void main(void)
|
||||
{
|
||||
extern void HardwareSetup( void );
|
||||
|
||||
/* Renesas provided CPU configuration routine. The clocks are configured in
|
||||
here. */
|
||||
HardwareSetup();
|
||||
|
||||
/* Turn all LEDs off. */
|
||||
vParTestInitialise();
|
||||
|
||||
/* Create the queue. */
|
||||
xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( unsigned long ) );
|
||||
|
||||
if( xQueue != NULL )
|
||||
{
|
||||
/* Start the two tasks as described at the top of this file. */
|
||||
xTaskCreate( prvQueueReceiveTask, "Rx", configMINIMAL_STACK_SIZE, NULL, configQUEUE_RECEIVE_TASK_PRIORITY, NULL );
|
||||
xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, configQUEUE_SEND_TASK_PRIORITY, NULL );
|
||||
|
||||
/* Start the tasks running. */
|
||||
vTaskStartScheduler();
|
||||
}
|
||||
|
||||
/* If all is well we will never reach here as the scheduler will now be
|
||||
running. If we do reach here then it is likely that there was insufficient
|
||||
heap available for the idle task to be created. */
|
||||
for( ;; );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvQueueSendTask( void *pvParameters )
|
||||
{
|
||||
portTickType xNextWakeTime;
|
||||
const unsigned long ulValueToSend = 100UL;
|
||||
|
||||
/* Initialise xNextWakeTime - this only needs to be done once. */
|
||||
xNextWakeTime = xTaskGetTickCount();
|
||||
|
||||
for( ;; )
|
||||
{
|
||||
/* Place this task in the blocked state until it is time to run again.
|
||||
The block state is specified in ticks, the constant used converts ticks
|
||||
to ms. */
|
||||
vTaskDelayUntil( &xNextWakeTime, mainQUEUE_SEND_FREQUENCY_MS );
|
||||
|
||||
/* Send to the queue - causing the queue receive task to flash its LED. 0
|
||||
is used so the send does not block - it shouldn't need to as the queue
|
||||
should always be empty here. */
|
||||
xQueueSend( xQueue, &ulValueToSend, 0 );
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvQueueReceiveTask( void *pvParameters )
|
||||
{
|
||||
unsigned long ulReceivedValue;
|
||||
|
||||
for( ;; )
|
||||
{
|
||||
/* Wait until something arives in the queue - this will block
|
||||
indefinitely provided INCLUDE_vTaskSuspend is set to 1 in
|
||||
FreeRTOSConfig.h. */
|
||||
xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );
|
||||
|
||||
/* To get here something must have arrived, but is it the expected
|
||||
value? If it is, toggle the LED. */
|
||||
if( ulReceivedValue == 100UL )
|
||||
{
|
||||
vParTestToggleLED( 0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vApplicationSetupTimerInterrupt( void )
|
||||
{
|
||||
/* Enable compare match timer 0. */
|
||||
MSTP( CMT0 ) = 0;
|
||||
|
||||
/* Interrupt on compare match. */
|
||||
CMT0.CMCR.BIT.CMIE = 1;
|
||||
|
||||
/* Set the compare match value. */
|
||||
CMT0.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / configTICK_RATE_HZ ) -1 ) / 8 );
|
||||
|
||||
/* Divide the PCLK by 8. */
|
||||
CMT0.CMCR.BIT.CKS = 0;
|
||||
|
||||
/* Enable the interrupt... */
|
||||
_IEN( _CMT0_CMI0 ) = 1;
|
||||
|
||||
/* ...and set its priority to the application defined kernel priority. */
|
||||
_IPR( _CMT0_CMI0 ) = configKERNEL_INTERRUPT_PRIORITY;
|
||||
|
||||
/* Start the timer. */
|
||||
CMT.CMSTR0.BIT.STR0 = 1;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* This function is explained by the comments above its prototype at the top
|
||||
of this file. */
|
||||
void vApplicationMallocFailedHook( void )
|
||||
{
|
||||
for( ;; );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* This function is explained by the comments above its prototype at the top
|
||||
of this file. */
|
||||
void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
|
||||
{
|
||||
for( ;; );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* This function is explained by the comments above its prototype at the top
|
||||
of this file. */
|
||||
void vApplicationIdleHook( void )
|
||||
{
|
||||
/* Just to prevent the variable getting optimised away. */
|
||||
( void ) ulHighFrequencyTickCount;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
@ -0,0 +1,693 @@
|
||||
/*
|
||||
FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* If you are: *
|
||||
* *
|
||||
* + New to FreeRTOS, *
|
||||
* + Wanting to learn FreeRTOS or multitasking in general quickly *
|
||||
* + Looking for basic training, *
|
||||
* + Wanting to improve your FreeRTOS skills and productivity *
|
||||
* *
|
||||
* then take a look at the FreeRTOS books - available as PDF or paperback *
|
||||
* *
|
||||
* "Using the FreeRTOS Real Time Kernel - a Practical Guide" *
|
||||
* http://www.FreeRTOS.org/Documentation *
|
||||
* *
|
||||
* A pdf reference manual is also available. Both are usually delivered *
|
||||
* to your inbox within 20 minutes to two hours when purchased between 8am *
|
||||
* and 8pm GMT (although please allow up to 24 hours in case of *
|
||||
* exceptional circumstances). Thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
***NOTE*** The exception to the GPL is included to allow you to distribute
|
||||
a combined work that includes FreeRTOS without being obliged to provide the
|
||||
source code for proprietary components outside of the FreeRTOS kernel.
|
||||
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, latest information, license and
|
||||
contact details.
|
||||
|
||||
http://www.SafeRTOS.com - A version that is certified for use in safety
|
||||
critical systems.
|
||||
|
||||
http://www.OpenRTOS.com - Commercial support, development, porting,
|
||||
licensing and training services.
|
||||
*/
|
||||
|
||||
/* ****************************************************************************
|
||||
* This project includes a lot of tasks and tests and is therefore complex.
|
||||
* If you would prefer a much simpler project to get started with then select
|
||||
* the 'Blinky' build configuration within the HEW IDE.
|
||||
* ****************************************************************************
|
||||
*
|
||||
* Creates all the demo application tasks, then starts the scheduler. The web
|
||||
* documentation provides more details of the standard demo application tasks,
|
||||
* which provide no particular functionality but do provide a good example of
|
||||
* how to use the FreeRTOS API. The tasks defined in flop.c are included in the
|
||||
* set of standard demo tasks to ensure the floating point unit gets some
|
||||
* exercise.
|
||||
*
|
||||
* In addition to the standard demo tasks, the following tasks and tests are
|
||||
* defined and/or created within this file:
|
||||
*
|
||||
* Webserver ("uIP") task - This serves a number of dynamically generated WEB
|
||||
* pages to a standard WEB browser. The IP and MAC addresses are configured by
|
||||
* constants defined at the bottom of FreeRTOSConfig.h. Use either a standard
|
||||
* Ethernet cable to connect through a hug, or a cross over (point to point)
|
||||
* cable to connect directly. Ensure the IP address used is compatible with the
|
||||
* IP address of the machine running the browser - the easiest way to achieve
|
||||
* this is to ensure the first three octets of the IP addresses are the same.
|
||||
*
|
||||
* "Reg test" tasks - These fill the registers with known values, then check
|
||||
* that each register still contains its expected value. Each task uses
|
||||
* different values. The tasks run with very low priority so get preempted
|
||||
* very frequently. A check variable is incremented on each iteration of the
|
||||
* test loop. A register containing an unexpected value is indicative of an
|
||||
* error in the context switching mechanism and will result in a branch to a
|
||||
* null loop - which in turn will prevent the check variable from incrementing
|
||||
* any further and allow the check task (described below) to determine that an
|
||||
* error has occurred. The nature of the reg test tasks necessitates that they
|
||||
* are written in assembly code.
|
||||
*
|
||||
* "Check" task - This only executes every five seconds but has a high priority
|
||||
* to ensure it gets processor time. Its main function is to check that all the
|
||||
* standard demo tasks are still operational. While no errors have been
|
||||
* discovered the check task will toggle LED 5 every 5 seconds - the toggle
|
||||
* rate increasing to 200ms being a visual indication that at least one task has
|
||||
* reported unexpected behaviour.
|
||||
*
|
||||
* "High frequency timer test" - A high frequency periodic interrupt is
|
||||
* generated using a timer - the interrupt is assigned a priority above
|
||||
* configMAX_SYSCALL_INTERRUPT_PRIORITY so should not be effected by anything
|
||||
* the kernel is doing. The frequency and priority of the interrupt, in
|
||||
* combination with other standard tests executed in this demo, should result
|
||||
* in interrupts nesting at least 3 and probably 4 deep. This test is only
|
||||
* included in build configurations that have the optimiser switched on. In
|
||||
* optimised builds the count of high frequency ticks is used as the time base
|
||||
* for the run time stats.
|
||||
*
|
||||
* *NOTE 1* If LED5 is toggling every 5 seconds then all the demo application
|
||||
* tasks are executing as expected and no errors have been reported in any
|
||||
* tasks. The toggle rate increasing to 200ms indicates that at least one task
|
||||
* has reported unexpected behaviour.
|
||||
*
|
||||
* *NOTE 2* vApplicationSetupTimerInterrupt() is called by the kernel to let
|
||||
* the application set up a timer to generate the tick interrupt. In this
|
||||
* example a compare match timer is used for this purpose.
|
||||
*
|
||||
* *NOTE 3* The CPU must be in Supervisor mode when the scheduler is started.
|
||||
* The PowerON_Reset_PC() supplied in resetprg.c with this demo has
|
||||
* Change_PSW_PM_to_UserMode() commented out to ensure this is the case.
|
||||
*
|
||||
* *NOTE 4* The IntQueue common demo tasks test interrupt nesting and make use
|
||||
* of all the 8bit timers (as two cascaded 16bit units).
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
|
||||
/* Hardware specific includes. */
|
||||
#include "iodefine.h"
|
||||
|
||||
/* Kernel includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "semphr.h"
|
||||
|
||||
/* Standard demo includes. */
|
||||
#include "partest.h"
|
||||
#include "flash.h"
|
||||
#include "IntQueue.h"
|
||||
#include "BlockQ.h"
|
||||
#include "death.h"
|
||||
#include "integer.h"
|
||||
#include "blocktim.h"
|
||||
#include "semtest.h"
|
||||
#include "PollQ.h"
|
||||
#include "GenQTest.h"
|
||||
#include "QPeek.h"
|
||||
#include "recmutex.h"
|
||||
//#include "flop.h"
|
||||
|
||||
#include "lcd.h"
|
||||
|
||||
/* Values that are passed into the reg test tasks using the task parameter. The
|
||||
tasks check that the values are passed in correctly. */
|
||||
#define mainREG_TEST_1_PARAMETER ( 0x12121212UL )
|
||||
#define mainREG_TEST_2_PARAMETER ( 0x12345678UL )
|
||||
|
||||
/* Priorities at which the tasks are created. */
|
||||
#define mainCHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 1 )
|
||||
#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
#define mainBLOCK_Q_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
||||
#define mainCREATOR_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 )
|
||||
#define mainFLASH_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
#define mainuIP_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
||||
#define mainINTEGER_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||
#define mainGEN_QUEUE_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||
#define mainFLOP_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY + 1)
|
||||
|
||||
/* The WEB server uses string handling functions, which in turn use a bit more
|
||||
stack than most of the other tasks. */
|
||||
#define mainuIP_STACK_SIZE ( configMINIMAL_STACK_SIZE * 3 )
|
||||
|
||||
/* The LED toggled by the check task. */
|
||||
#define mainCHECK_LED ( 3 )
|
||||
|
||||
/* The rate at which mainCHECK_LED will toggle when all the tasks are running
|
||||
without error. Controlled by the check task as described at the top of this
|
||||
file. */
|
||||
#define mainNO_ERROR_CYCLE_TIME ( 5000 / portTICK_RATE_MS )
|
||||
|
||||
/* The rate at which mainCHECK_LED will toggle when an error has been reported
|
||||
by at least one task. Controlled by the check task as described at the top of
|
||||
this file. */
|
||||
#define mainERROR_CYCLE_TIME ( 200 / portTICK_RATE_MS )
|
||||
|
||||
/*
|
||||
* vApplicationMallocFailedHook() will only be called if
|
||||
* configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h. It is a hook
|
||||
* function that will execute if a call to pvPortMalloc() fails.
|
||||
* pvPortMalloc() is called internally by the kernel whenever a task, queue or
|
||||
* semaphore is created. It is also called by various parts of the demo
|
||||
* application.
|
||||
*/
|
||||
void vApplicationMallocFailedHook( void );
|
||||
|
||||
/*
|
||||
* vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set to 1
|
||||
* in FreeRTOSConfig.h. It is a hook function that is called on each iteration
|
||||
* of the idle task. It is essential that code added to this hook function
|
||||
* never attempts to block in any way (for example, call xQueueReceive() with
|
||||
* a block time specified). If the application makes use of the vTaskDelete()
|
||||
* API function (as this demo application does) then it is also important that
|
||||
* vApplicationIdleHook() is permitted to return to its calling function because
|
||||
* it is the responsibility of the idle task to clean up memory allocated by the
|
||||
* kernel to any task that has since been deleted.
|
||||
*/
|
||||
void vApplicationIdleHook( void );
|
||||
|
||||
/*
|
||||
* vApplicationStackOverflowHook() will only be called if
|
||||
* configCHECK_FOR_STACK_OVERFLOW is set to a non-zero value. The handle and
|
||||
* name of the offending task should be passed in the function parameters, but
|
||||
* it is possible that the stack overflow will have corrupted these - in which
|
||||
* case pxCurrentTCB can be inspected to find the same information.
|
||||
*/
|
||||
void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName );
|
||||
|
||||
/*
|
||||
* The reg test tasks as described at the top of this file.
|
||||
*/
|
||||
static void prvRegTest1Task( void *pvParameters );
|
||||
static void prvRegTest2Task( void *pvParameters );
|
||||
|
||||
/*
|
||||
* The actual implementation of the reg test functionality, which, because of
|
||||
* the direct register access, have to be in assembly.
|
||||
*/
|
||||
static void prvRegTest1Implementation( void );
|
||||
static void prvRegTest2Implementation( void );
|
||||
|
||||
/*
|
||||
* The check task as described at the top of this file.
|
||||
*/
|
||||
static void prvCheckTask( void *pvParameters );
|
||||
|
||||
|
||||
/*
|
||||
* The LCD task as described at the top of this file.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Contains the implementation of the WEB server.
|
||||
*/
|
||||
extern void vuIP_Task( void *pvParameters );
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* Variables that are incremented on each iteration of the reg test tasks -
|
||||
provided the tasks have not reported any errors. The check task inspects these
|
||||
variables to ensure they are still incrementing as expected. If a variable
|
||||
stops incrementing then it is likely that its associate task has stalled. */
|
||||
unsigned long ulRegTest1CycleCount = 0UL, ulRegTest2CycleCount = 0UL;
|
||||
|
||||
/* The status message that is displayed at the bottom of the "task stats" web
|
||||
page, which is served by the uIP task. This will report any errors picked up
|
||||
by the reg test task. */
|
||||
const char *pcStatusMessage = "All tasks executing without error.";
|
||||
|
||||
|
||||
|
||||
extern void SwitchSetup(void);
|
||||
extern xQueueHandle SwitchQueue;
|
||||
|
||||
extern xSemaphoreHandle LCD_Mutex;
|
||||
extern struct _LCD_Params Line1;
|
||||
extern struct _LCD_Params Line2;
|
||||
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void main(void)
|
||||
{
|
||||
extern void HardwareSetup( void );
|
||||
|
||||
/* Renesas provided CPU configuration routine. The clocks are configured in
|
||||
here. */
|
||||
HardwareSetup();
|
||||
SwitchSetup();
|
||||
|
||||
/* Turn all LEDs off. */
|
||||
vParTestInitialise();
|
||||
|
||||
/* Start the reg test tasks which test the context switching mechanism. */
|
||||
xTaskCreate( prvRegTest1Task, "RegTst1", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_1_PARAMETER, tskIDLE_PRIORITY, NULL );
|
||||
xTaskCreate( prvRegTest2Task, "RegTst2", configMINIMAL_STACK_SIZE, ( void * ) mainREG_TEST_2_PARAMETER, tskIDLE_PRIORITY, NULL );
|
||||
|
||||
/* The web server task. */
|
||||
// xTaskCreate( vuIP_Task, "uIP", mainuIP_STACK_SIZE, NULL, mainuIP_TASK_PRIORITY, NULL );
|
||||
|
||||
/* LCD task */
|
||||
LCD_Mutex = xSemaphoreCreateMutex();
|
||||
xTaskCreate( prvLCDTaskLine1, "LCD1", configMINIMAL_STACK_SIZE * 3, ( void *)&Line1, mainLCD_TASK_PRIORITY, NULL );
|
||||
xTaskCreate( prvLCDTaskLine2, "LCD2", configMINIMAL_STACK_SIZE * 3, ( void *)&Line2, mainLCD_TASK_PRIORITY + 1, NULL );
|
||||
|
||||
/* Switch Queue to handle switch presses */
|
||||
SwitchQueue = xQueueCreate(32, 1);
|
||||
|
||||
/* Start the check task as described at the top of this file. */
|
||||
xTaskCreate( prvCheckTask, "Check", configMINIMAL_STACK_SIZE * 3, NULL, mainCHECK_TASK_PRIORITY, NULL );
|
||||
|
||||
/* Create the standard demo tasks. */
|
||||
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );
|
||||
vCreateBlockTimeTasks();
|
||||
vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );
|
||||
vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );
|
||||
vStartIntegerMathTasks( mainINTEGER_TASK_PRIORITY );
|
||||
vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY );
|
||||
vStartLEDFlashTasks( mainFLASH_TASK_PRIORITY );
|
||||
vStartQueuePeekTasks();
|
||||
vStartRecursiveMutexTasks();
|
||||
vStartInterruptQueueTasks();
|
||||
|
||||
|
||||
/* The suicide tasks must be created last as they need to know how many
|
||||
tasks were running prior to their creation in order to ascertain whether
|
||||
or not the correct/expected number of tasks are running at any given time. */
|
||||
vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY );
|
||||
|
||||
/* Start the tasks running. */
|
||||
vTaskStartScheduler();
|
||||
|
||||
/* If all is well we will never reach here as the scheduler will now be
|
||||
running. If we do reach here then it is likely that there was insufficient
|
||||
heap available for the idle task to be created. */
|
||||
for( ;; );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvCheckTask( void *pvParameters )
|
||||
{
|
||||
static volatile unsigned long ulLastRegTest1CycleCount = 0UL, ulLastRegTest2CycleCount = 0UL;
|
||||
portTickType xNextWakeTime, xCycleFrequency = mainNO_ERROR_CYCLE_TIME;
|
||||
extern void vSetupHighFrequencyTimer( void );
|
||||
|
||||
/* If this is being executed then the kernel has been started. Start the high
|
||||
frequency timer test as described at the top of this file. This is only
|
||||
included in the optimised build configuration - otherwise it takes up too much
|
||||
CPU time and can disrupt other tests. */
|
||||
#ifdef INCLUDE_HIGH_FREQUENCY_TIMER_TEST
|
||||
vSetupHighFrequencyTimer();
|
||||
#endif
|
||||
|
||||
/* Initialise xNextWakeTime - this only needs to be done once. */
|
||||
xNextWakeTime = xTaskGetTickCount();
|
||||
|
||||
for( ;; )
|
||||
{
|
||||
/* Place this task in the blocked state until it is time to run again. */
|
||||
vTaskDelayUntil( &xNextWakeTime, xCycleFrequency );
|
||||
|
||||
/* Check the standard demo tasks are running without error. */
|
||||
if( xAreGenericQueueTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
/* Increase the rate at which this task cycles, which will increase the
|
||||
rate at which mainCHECK_LED flashes to give visual feedback that an error
|
||||
has occurred. */
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: GenQueue";
|
||||
}
|
||||
else if( xAreQueuePeekTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: QueuePeek";
|
||||
}
|
||||
else if( xAreBlockingQueuesStillRunning() != pdTRUE )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: BlockQueue";
|
||||
}
|
||||
else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: BlockTime";
|
||||
}
|
||||
else if( xAreSemaphoreTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: SemTest";
|
||||
}
|
||||
else if( xArePollingQueuesStillRunning() != pdTRUE )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: PollQueue";
|
||||
}
|
||||
else if( xIsCreateTaskStillRunning() != pdTRUE )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: Death";
|
||||
}
|
||||
else if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: IntMath";
|
||||
}
|
||||
else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: RecMutex";
|
||||
}
|
||||
else if( xAreIntQueueTasksStillRunning() != pdPASS )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: IntQueue";
|
||||
}
|
||||
|
||||
/* Check the reg test tasks are still cycling. They will stop incrementing
|
||||
their loop counters if they encounter an error. */
|
||||
if( ulRegTest1CycleCount == ulLastRegTest1CycleCount )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: RegTest1";
|
||||
}
|
||||
|
||||
if( ulRegTest2CycleCount == ulLastRegTest2CycleCount )
|
||||
{
|
||||
xCycleFrequency = mainERROR_CYCLE_TIME;
|
||||
pcStatusMessage = "Error: RegTest2";
|
||||
}
|
||||
|
||||
ulLastRegTest1CycleCount = ulRegTest1CycleCount;
|
||||
ulLastRegTest2CycleCount = ulRegTest2CycleCount;
|
||||
|
||||
/* Toggle the check LED to give an indication of the system status. If
|
||||
the LED toggles every 5 seconds then everything is ok. A faster toggle
|
||||
indicates an error. */
|
||||
vParTestToggleLED( mainCHECK_LED );
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* The RX port uses this callback function to configure its tick interrupt.
|
||||
This allows the application to choose the tick interrupt source. */
|
||||
void vApplicationSetupTimerInterrupt( void )
|
||||
{
|
||||
/* Enable compare match timer 0. */
|
||||
MSTP( CMT0 ) = 0;
|
||||
|
||||
/* Interrupt on compare match. */
|
||||
CMT0.CMCR.BIT.CMIE = 1;
|
||||
|
||||
/* Set the compare match value. */
|
||||
CMT0.CMCOR = ( unsigned short ) ( ( ( configPERIPHERAL_CLOCK_HZ / configTICK_RATE_HZ ) -1 ) / 8 );
|
||||
|
||||
/* Divide the PCLK by 8. */
|
||||
CMT0.CMCR.BIT.CKS = 0;
|
||||
|
||||
/* Enable the interrupt... */
|
||||
_IEN( _CMT0_CMI0 ) = 1;
|
||||
|
||||
/* ...and set its priority to the application defined kernel priority. */
|
||||
_IPR( _CMT0_CMI0 ) = configKERNEL_INTERRUPT_PRIORITY;
|
||||
|
||||
/* Start the timer. */
|
||||
CMT.CMSTR0.BIT.STR0 = 1;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* This function is explained by the comments above its prototype at the top
|
||||
of this file. */
|
||||
void vApplicationMallocFailedHook( void )
|
||||
{
|
||||
for( ;; );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* This function is explained by the comments above its prototype at the top
|
||||
of this file. */
|
||||
void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )
|
||||
{
|
||||
for( ;; );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* This function is explained by the comments above its prototype at the top
|
||||
of this file. */
|
||||
void vApplicationIdleHook( void )
|
||||
{
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* This function is explained in the comments at the top of this file. */
|
||||
static void prvRegTest1Task( void *pvParameters )
|
||||
{
|
||||
if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_1_PARAMETER )
|
||||
{
|
||||
/* The parameter did not contain the expected value. */
|
||||
for( ;; )
|
||||
{
|
||||
/* Stop the tick interrupt so its obvious something has gone wrong. */
|
||||
taskDISABLE_INTERRUPTS();
|
||||
}
|
||||
}
|
||||
|
||||
/* This is an inline asm function that never returns. */
|
||||
prvRegTest1Implementation();
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* This function is explained in the comments at the top of this file. */
|
||||
static void prvRegTest2Task( void *pvParameters )
|
||||
{
|
||||
if( ( ( unsigned long ) pvParameters ) != mainREG_TEST_2_PARAMETER )
|
||||
{
|
||||
/* The parameter did not contain the expected value. */
|
||||
for( ;; )
|
||||
{
|
||||
/* Stop the tick interrupt so its obvious something has gone wrong. */
|
||||
taskDISABLE_INTERRUPTS();
|
||||
}
|
||||
}
|
||||
|
||||
/* This is an inline asm function that never returns. */
|
||||
prvRegTest2Implementation();
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* This function is explained in the comments at the top of this file. */
|
||||
#pragma inline_asm prvRegTest1Implementation
|
||||
static void prvRegTest1Implementation( void )
|
||||
{
|
||||
; Put a known value in each register.
|
||||
MOV.L #1, R1
|
||||
MOV.L #2, R2
|
||||
MOV.L #3, R3
|
||||
MOV.L #4, R4
|
||||
MOV.L #5, R5
|
||||
MOV.L #6, R6
|
||||
MOV.L #7, R7
|
||||
MOV.L #8, R8
|
||||
MOV.L #9, R9
|
||||
MOV.L #10, R10
|
||||
MOV.L #11, R11
|
||||
MOV.L #12, R12
|
||||
MOV.L #13, R13
|
||||
MOV.L #14, R14
|
||||
MOV.L #15, R15
|
||||
|
||||
; Loop, checking each itteration that each register still contains the
|
||||
; expected value.
|
||||
TestLoop1:
|
||||
|
||||
; Push the registers that are going to get clobbered.
|
||||
PUSHM R14-R15
|
||||
|
||||
; Increment the loop counter to show this task is still getting CPU time.
|
||||
MOV.L #_ulRegTest1CycleCount, R14
|
||||
MOV.L [ R14 ], R15
|
||||
ADD #1, R15
|
||||
MOV.L R15, [ R14 ]
|
||||
|
||||
; Yield to extend the text coverage. Set the bit in the ITU SWINTR register.
|
||||
MOV.L #1, R14
|
||||
MOV.L #0872E0H, R15
|
||||
MOV.B R14, [R15]
|
||||
NOP
|
||||
NOP
|
||||
|
||||
; Restore the clobbered registers.
|
||||
POPM R14-R15
|
||||
|
||||
; Now compare each register to ensure it still contains the value that was
|
||||
; set before this loop was entered.
|
||||
CMP #1, R1
|
||||
BNE RegTest1Error
|
||||
CMP #2, R2
|
||||
BNE RegTest1Error
|
||||
CMP #3, R3
|
||||
BNE RegTest1Error
|
||||
CMP #4, R4
|
||||
BNE RegTest1Error
|
||||
CMP #5, R5
|
||||
BNE RegTest1Error
|
||||
CMP #6, R6
|
||||
BNE RegTest1Error
|
||||
CMP #7, R7
|
||||
BNE RegTest1Error
|
||||
CMP #8, R8
|
||||
BNE RegTest1Error
|
||||
CMP #9, R9
|
||||
BNE RegTest1Error
|
||||
CMP #10, R10
|
||||
BNE RegTest1Error
|
||||
CMP #11, R11
|
||||
BNE RegTest1Error
|
||||
CMP #12, R12
|
||||
BNE RegTest1Error
|
||||
CMP #13, R13
|
||||
BNE RegTest1Error
|
||||
CMP #14, R14
|
||||
BNE RegTest1Error
|
||||
CMP #15, R15
|
||||
BNE RegTest1Error
|
||||
|
||||
; All comparisons passed, start a new itteratio of this loop.
|
||||
BRA TestLoop1
|
||||
|
||||
RegTest1Error:
|
||||
; A compare failed, just loop here so the loop counter stops incrementing
|
||||
; causing the check task to indicate the error.
|
||||
BRA RegTest1Error
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* This function is explained in the comments at the top of this file. */
|
||||
#pragma inline_asm prvRegTest2Implementation
|
||||
static void prvRegTest2Implementation( void )
|
||||
{
|
||||
; Put a known value in each register.
|
||||
MOV.L #10, R1
|
||||
MOV.L #20, R2
|
||||
MOV.L #30, R3
|
||||
MOV.L #40, R4
|
||||
MOV.L #50, R5
|
||||
MOV.L #60, R6
|
||||
MOV.L #70, R7
|
||||
MOV.L #80, R8
|
||||
MOV.L #90, R9
|
||||
MOV.L #100, R10
|
||||
MOV.L #110, R11
|
||||
MOV.L #120, R12
|
||||
MOV.L #130, R13
|
||||
MOV.L #140, R14
|
||||
MOV.L #150, R15
|
||||
|
||||
; Loop, checking on each itteration that each register still contains the
|
||||
; expected value.
|
||||
TestLoop2:
|
||||
|
||||
; Push the registers that are going to get clobbered.
|
||||
PUSHM R14-R15
|
||||
|
||||
; Increment the loop counter to show this task is still getting CPU time.
|
||||
MOV.L #_ulRegTest2CycleCount, R14
|
||||
MOV.L [ R14 ], R15
|
||||
ADD #1, R15
|
||||
MOV.L R15, [ R14 ]
|
||||
|
||||
; Restore the clobbered registers.
|
||||
POPM R14-R15
|
||||
|
||||
CMP #10, R1
|
||||
BNE RegTest2Error
|
||||
CMP #20, R2
|
||||
BNE RegTest2Error
|
||||
CMP #30, R3
|
||||
BNE RegTest2Error
|
||||
CMP #40, R4
|
||||
BNE RegTest2Error
|
||||
CMP #50, R5
|
||||
BNE RegTest2Error
|
||||
CMP #60, R6
|
||||
BNE RegTest2Error
|
||||
CMP #70, R7
|
||||
BNE RegTest2Error
|
||||
CMP #80, R8
|
||||
BNE RegTest2Error
|
||||
CMP #90, R9
|
||||
BNE RegTest2Error
|
||||
CMP #100, R10
|
||||
BNE RegTest2Error
|
||||
CMP #110, R11
|
||||
BNE RegTest2Error
|
||||
CMP #120, R12
|
||||
BNE RegTest2Error
|
||||
CMP #130, R13
|
||||
BNE RegTest2Error
|
||||
CMP #140, R14
|
||||
BNE RegTest2Error
|
||||
CMP #150, R15
|
||||
BNE RegTest2Error
|
||||
|
||||
; All comparisons passed, start a new itteratio of this loop.
|
||||
BRA TestLoop2
|
||||
|
||||
RegTest2Error:
|
||||
; A compare failed, just loop here so the loop counter stops incrementing
|
||||
; - causing the check task to indicate the error.
|
||||
BRA RegTest2Error
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
char *pcGetTaskStatusMessage( void )
|
||||
{
|
||||
/* Not bothered about a critical section here although technically because of
|
||||
the task priorities the pointer could change it will be atomic if not near
|
||||
atomic and its not critical. */
|
||||
return ( char * ) pcStatusMessage;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
|
||||
|
@ -0,0 +1,112 @@
|
||||
/* Kernel includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "semphr.h"
|
||||
|
||||
#include "iodefine.h"
|
||||
|
||||
extern xQueueHandle SwitchQueue;
|
||||
|
||||
// IRQ1
|
||||
#pragma interrupt (Excep_IRQ1(vect=65))
|
||||
void Excep_IRQ1(void);
|
||||
|
||||
// IRQ3
|
||||
#pragma interrupt (Excep_IRQ3(vect=67))
|
||||
void Excep_IRQ3(void);
|
||||
|
||||
// IRQ4
|
||||
#pragma interrupt (Excep_IRQ4(vect=68))
|
||||
void Excep_IRQ4(void);
|
||||
|
||||
|
||||
|
||||
void SwitchSetup(void)
|
||||
{
|
||||
/* Configure SW 1-3 pin settings */
|
||||
PORT3.PDR.BIT.B1 = 0; /* Switch 1 - Port 3.1 - IRQ1 */
|
||||
PORT3.PDR.BIT.B3 = 0; /* Switch 2 - Port 3.3 - IRQ3 */
|
||||
PORT3.PDR.BIT.B4 = 0; /* Switch 3 - Port 3.4 - IRQ4 */
|
||||
|
||||
PORT3.PMR.BIT.B1 = 1;
|
||||
PORT3.PMR.BIT.B3 = 1;
|
||||
PORT3.PMR.BIT.B4 = 1;
|
||||
|
||||
MPC.PWPR.BIT.B0WI = 0; // Writing to the PFSWE bit is enabled
|
||||
MPC.PWPR.BIT.PFSWE = 1; // Writing to the PFS register is enabled
|
||||
MPC.P31PFS.BIT.ISEL = 1;
|
||||
MPC.P33PFS.BIT.ISEL = 1;
|
||||
MPC.P34PFS.BIT.ISEL = 1;
|
||||
|
||||
/* IRQ1 */
|
||||
ICU.IER[0x08].BIT.IEN1 = 1;
|
||||
ICU.IPR[65].BIT.IPR = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
|
||||
ICU.IR[65].BIT.IR = 0;
|
||||
ICU.IRQCR[1].BIT.IRQMD = 1; // falling edge
|
||||
|
||||
/* IRQ3 */
|
||||
ICU.IER[0x08].BIT.IEN3 = 1;
|
||||
ICU.IPR[67].BIT.IPR = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
|
||||
ICU.IR[67].BIT.IR = 0;
|
||||
ICU.IRQCR[3].BIT.IRQMD = 1; // falling edge
|
||||
|
||||
/* IRQ4 */
|
||||
ICU.IER[0x08].BIT.IEN4 = 1;
|
||||
ICU.IPR[68].BIT.IPR = configMAX_SYSCALL_INTERRUPT_PRIORITY - 1;
|
||||
ICU.IR[68].BIT.IR = 0;
|
||||
ICU.IRQCR[4].BIT.IRQMD = 1; // falling edge
|
||||
|
||||
}
|
||||
|
||||
void Excep_IRQ1(void)
|
||||
{
|
||||
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||
static portTickType PreviousCount = 0;
|
||||
portTickType CurrentCount;
|
||||
static unsigned char ID_Switch1 = 1;
|
||||
|
||||
CurrentCount = xTaskGetTickCount();
|
||||
|
||||
if( (CurrentCount - PreviousCount) > (125 / portTICK_RATE_MS) )
|
||||
{
|
||||
xQueueSendToBackFromISR( SwitchQueue, &ID_Switch1, &xHigherPriorityTaskWoken);
|
||||
}
|
||||
PreviousCount = CurrentCount;
|
||||
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
||||
}
|
||||
|
||||
void Excep_IRQ3(void)
|
||||
{
|
||||
static portTickType PreviousCount = 0;
|
||||
portTickType CurrentCount;
|
||||
|
||||
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||
static unsigned char ID_Switch2 = 2;
|
||||
|
||||
CurrentCount = xTaskGetTickCount();
|
||||
|
||||
if( (CurrentCount - PreviousCount) > (250 / portTICK_RATE_MS) )
|
||||
{
|
||||
xQueueSendToBackFromISR( SwitchQueue, &ID_Switch2, &xHigherPriorityTaskWoken);
|
||||
}
|
||||
PreviousCount = CurrentCount;
|
||||
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
||||
}
|
||||
|
||||
void Excep_IRQ4(void)
|
||||
{
|
||||
static portTickType PreviousCount = 0;
|
||||
portTickType CurrentCount;
|
||||
|
||||
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||
static unsigned char ID_Switch3 = 3;
|
||||
|
||||
CurrentCount = xTaskGetTickCount();
|
||||
|
||||
if( (CurrentCount - PreviousCount) > (125 / portTICK_RATE_MS) )
|
||||
{
|
||||
xQueueSendToBackFromISR( SwitchQueue, &ID_Switch3, &xHigherPriorityTaskWoken);
|
||||
}
|
||||
PreviousCount = CurrentCount;
|
||||
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
||||
}
|
Loading…
Reference in New Issue