From 09c3c79a65a49cb55996289c00a958529894f562 Mon Sep 17 00:00:00 2001 From: rtel Date: Mon, 3 Mar 2014 16:39:41 +0000 Subject: [PATCH] Start to create an RX64M demo. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2221 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- .../.HardwareDebuglinker | 38 + .../.cproject | 233 + .../RX600_RX64M_RSK_Renesas_e2studio/.info | 6 + .../RX600_RX64M_RSK_Renesas_e2studio/.project | 123 + .../CodeGenerator/cgprojectDatas.datas | 0 .../Project_Generation_Prefrences.prefs | 71 + .../RTOSDemo HardwareDebug.launch | 91 + .../Source/FreeRTOSConfig.h | 176 + .../Source/ParTest.c | 198 + .../Source/Renesas_Code/cg_src/r_cg_cgc.c | 108 + .../Source/Renesas_Code/cg_src/r_cg_cgc.h | 230 + .../Renesas_Code/cg_src/r_cg_cgc_user.c | 57 + .../Source/Renesas_Code/cg_src/r_cg_cmt.c | 106 + .../Source/Renesas_Code/cg_src/r_cg_cmt.h | 91 + .../Source/Renesas_Code/cg_src/r_cg_dbsct.c | 89 + .../Renesas_Code/cg_src/r_cg_hardware_setup.c | 93 + .../Source/Renesas_Code/cg_src/r_cg_intprg.c | 111 + .../Renesas_Code/cg_src/r_cg_iodefine.h | 18605 ++++++++++++++++ .../Renesas_Code/cg_src/r_cg_macrodriver.h | 99 + .../Renesas_Code/cg_src/r_cg_resetprg.c | 96 + .../Source/Renesas_Code/cg_src/r_cg_sbrk.c | 91 + .../Source/Renesas_Code/cg_src/r_cg_sbrk.h | 53 + .../Renesas_Code/cg_src/r_cg_stacksct.h | 55 + .../Renesas_Code/cg_src/r_cg_userdefine.h | 43 + .../Source/Renesas_Code/cg_src/r_cg_vect.h | 88 + .../Source/Renesas_Code/cg_src/r_cg_vecttbl.c | 103 + .../Source/main.c | 275 + .../Source/main_blinky.c | 232 + .../makefile.init | 8 + 29 files changed, 21569 insertions(+) create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.HardwareDebuglinker create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.cproject create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.info create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.project create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.settings/CodeGenerator/cgprojectDatas.datas create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.settings/Project_Generation_Prefrences.prefs create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/RTOSDemo HardwareDebug.launch create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/FreeRTOSConfig.h create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/ParTest.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc.h create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc_user.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cmt.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cmt.h create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_dbsct.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_hardware_setup.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_intprg.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_iodefine.h create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_macrodriver.h create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_resetprg.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_sbrk.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_sbrk.h create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_stacksct.h create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_userdefine.h create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_vect.h create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_vecttbl.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/main.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/main_blinky.c create mode 100644 FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/makefile.init diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.HardwareDebuglinker b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.HardwareDebuglinker new file mode 100644 index 000000000..99f3c2cda --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.HardwareDebuglinker @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.cproject b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.cproject new file mode 100644 index 000000000..412d691d9 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.cproject @@ -0,0 +1,233 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.info b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.info new file mode 100644 index 000000000..5306972cb --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.info @@ -0,0 +1,6 @@ +TOOL_CHAIN=Renesas RXC Toolchain +VERSION=v1.02.01 +TC_INSTALL=C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\ +VERSION_IDE=3.06.02.004 +E2STUDIO_VERSION=2.2.0.13 +ACTIVE_CONFIGURATION=HardwareDebug diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.project b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.project new file mode 100644 index 000000000..29a634b92 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.project @@ -0,0 +1,123 @@ + + + RTOSDemo + + + + + + com.renesas.cdt.core.genmakebuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + com.renesas.cdt.core.kpitcnature + com.renesas.cdt.core.kpitccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + Source/Common_Demo_Source + 2 + virtual:/virtual + + + Source/FreeRTOS_Source + 2 + virtual:/virtual + + + Source/Common_Demo_Source/include + 2 + FREERTOS_ROOT/FreeRTOS/Demo/Common/include + + + Source/FreeRTOS_Source/event_groups.c + 1 + FREERTOS_ROOT/FreeRTOS/Source/event_groups.c + + + Source/FreeRTOS_Source/include + 2 + FREERTOS_ROOT/FreeRTOS/Source/include + + + Source/FreeRTOS_Source/list.c + 1 + FREERTOS_ROOT/FreeRTOS/Source/list.c + + + Source/FreeRTOS_Source/portable + 2 + FREERTOS_ROOT/FreeRTOS/Source/portable + + + Source/FreeRTOS_Source/queue.c + 1 + FREERTOS_ROOT/FreeRTOS/Source/queue.c + + + Source/FreeRTOS_Source/tasks.c + 1 + FREERTOS_ROOT/FreeRTOS/Source/tasks.c + + + Source/FreeRTOS_Source/timers.c + 1 + FREERTOS_ROOT/FreeRTOS/Source/timers.c + + + + + 1393853702360 + Source/FreeRTOS_Source/portable + 9 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-MemMang + + + + 1393853702376 + Source/FreeRTOS_Source/portable + 9 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-Renesas + + + + 1393853718739 + Source/FreeRTOS_Source/portable/MemMang + 5 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-heap_4.c + + + + 1393853791165 + Source/FreeRTOS_Source/portable/Renesas + 9 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-RX600v2 + + + + + + FREERTOS_ROOT + $%7BPARENT-3-PROJECT_LOC%7D + + + diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.settings/CodeGenerator/cgprojectDatas.datas b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.settings/CodeGenerator/cgprojectDatas.datas new file mode 100644 index 000000000..e69de29bb diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.settings/Project_Generation_Prefrences.prefs b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.settings/Project_Generation_Prefrences.prefs new file mode 100644 index 000000000..aa47bfa05 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/.settings/Project_Generation_Prefrences.prefs @@ -0,0 +1,71 @@ +com.renesas.cdt.renesas.Assembler.option.userDefine=-nologo;;; +com.renesas.cdt.renesas.Compiler.option.C=com.renesas.cdt.renesas.Compiler.option.C89 +com.renesas.cdt.renesas.Compiler.option.UserDef=-nologo;-change_message\=warning; +com.renesas.cdt.renesas.Compiler.option.defines=__RX; +com.renesas.cdt.renesas.Compiler.option.incFileDirectories="${TCINSTALL}\\include"; +com.renesas.cdt.renesas.Linker.option.rom=D\=R;D_1\=R_1;D_2\=R_2; +com.renesas.cdt.renesas.Linker.option.typeOfOutputFileOption=Stype via absolute +com.renesas.cdt.renesas.StandardLibrary.option.complexC99=false +com.renesas.cdt.renesas.StandardLibrary.option.ctypec89=false +com.renesas.cdt.renesas.StandardLibrary.option.fenvC99=false +com.renesas.cdt.renesas.StandardLibrary.option.inttypesC99=false +com.renesas.cdt.renesas.StandardLibrary.option.libConfiguration=C(C89) +com.renesas.cdt.renesas.StandardLibrary.option.mathc89=false +com.renesas.cdt.renesas.StandardLibrary.option.mathfc89=false +com.renesas.cdt.renesas.StandardLibrary.option.mode=com.renesas.cdt.renesas.StandardLibrary.option.buildOnlyWhenOptionsChanged +com.renesas.cdt.renesas.StandardLibrary.option.runtime=true +com.renesas.cdt.renesas.StandardLibrary.option.rxccomplexCPP=false +com.renesas.cdt.renesas.StandardLibrary.option.rxciosCPP=false +com.renesas.cdt.renesas.StandardLibrary.option.rxcnewCPP=false +com.renesas.cdt.renesas.StandardLibrary.option.rxcstringCPP=false +com.renesas.cdt.renesas.StandardLibrary.option.stdargc89=false +com.renesas.cdt.renesas.StandardLibrary.option.stdioc89=false +com.renesas.cdt.renesas.StandardLibrary.option.stdlibc89=false +com.renesas.cdt.renesas.StandardLibrary.option.stringc89=false +com.renesas.cdt.renesas.StandardLibrary.option.wcharC99=false +com.renesas.cdt.renesas.StandardLibrary.option.wctypeC99=false +com.renesas.cdt.rxc.HardwareDebug.Assembler.option.endian=Little-endian data +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.RAM=None +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.ROM=None +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.address=00000000 +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.addressRegister=None +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.allocLowerBit=Lower bit +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.cpuType=RX600 +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.denormalized=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.endian=Little-endian data +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.enumSize=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.packStructures=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.patchCode=None +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.precisionDouble=Single precision +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.registerFastInterrupt=None +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.replaceFromIntWithShort=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.roundTo=Nearest +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.signBitField=unsigned +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.signChar=unsigned +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.useDynamic=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.useTry=false +com.renesas.cdt.rxc.HardwareDebug.Compiler.option.widthDivergence=24 bit +com.renesas.cdt.rxc.HardwareDebug.StandardLibrary.option.endian=Little-endian data +com.renesas.cdt.rxc.Release.Assembler.option.endian=Little-endian data +com.renesas.cdt.rxc.Release.Compiler.option.RAM=None +com.renesas.cdt.rxc.Release.Compiler.option.ROM=None +com.renesas.cdt.rxc.Release.Compiler.option.address=00000000 +com.renesas.cdt.rxc.Release.Compiler.option.addressRegister=None +com.renesas.cdt.rxc.Release.Compiler.option.allocLowerBit=Lower bit +com.renesas.cdt.rxc.Release.Compiler.option.cpuType=RX600 +com.renesas.cdt.rxc.Release.Compiler.option.denormalized=false +com.renesas.cdt.rxc.Release.Compiler.option.endian=Little-endian data +com.renesas.cdt.rxc.Release.Compiler.option.enumSize=false +com.renesas.cdt.rxc.Release.Compiler.option.packStructures=false +com.renesas.cdt.rxc.Release.Compiler.option.patchCode=None +com.renesas.cdt.rxc.Release.Compiler.option.precisionDouble=Single precision +com.renesas.cdt.rxc.Release.Compiler.option.registerFastInterrupt=None +com.renesas.cdt.rxc.Release.Compiler.option.replaceFromIntWithShort=false +com.renesas.cdt.rxc.Release.Compiler.option.roundTo=Nearest +com.renesas.cdt.rxc.Release.Compiler.option.signBitField=unsigned +com.renesas.cdt.rxc.Release.Compiler.option.signChar=unsigned +com.renesas.cdt.rxc.Release.Compiler.option.useDynamic=false +com.renesas.cdt.rxc.Release.Compiler.option.useTry=false +com.renesas.cdt.rxc.Release.Compiler.option.widthDivergence=24 bit +com.renesas.cdt.rxc.Release.StandardLibrary.option.endian=Little-endian data +eclipse.preferences.version=1 diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/RTOSDemo HardwareDebug.launch b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/RTOSDemo HardwareDebug.launch new file mode 100644 index 000000000..aa932db3a --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/RTOSDemo HardwareDebug.launch @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/FreeRTOSConfig.h b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/FreeRTOSConfig.h new file mode 100644 index 000000000..b370b3d73 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/FreeRTOSConfig.h @@ -0,0 +1,176 @@ +/* + FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd. + All rights reserved + + VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS provides completely free yet professionally developed, * + * robust, strictly quality controlled, supported, and cross * + * platform software that has become a de facto standard. * + * * + * Help yourself get started quickly and support the FreeRTOS * + * project by purchasing a FreeRTOS tutorial book, reference * + * manual, or both from: http://www.FreeRTOS.org/Documentation * + * * + * Thank you! * + * * + *************************************************************************** + + This file is part of the FreeRTOS distribution. + + FreeRTOS is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License (version 2) as published by the + Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception. + + >>! NOTE: The modification to the GPL is included to allow you to distribute + >>! a combined work that includes FreeRTOS without being obliged to provide + >>! the source code for proprietary components outside of the FreeRTOS + >>! kernel. + + FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. Full license text is available from the following + link: http://www.freertos.org/a00114.html + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, a DOS + compatible FAT file system, and our tiny thread aware UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS + licenses offer ticketed support, indemnification and middleware. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. + + 1 tab == 4 spaces! +*/ + +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + +/* Prevent Renesas headers redefining some stdint.h types. */ +#define __TYPEDEF__ 1 + +/*----------------------------------------------------------- + * 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 1 +#define configUSE_TICK_HOOK 0 +#define configCPU_CLOCK_HZ ( 120000000UL ) /*_RB_ guess*/ +#define configPERIPHERAL_CLOCK_HZ ( 60000000UL ) /*_RB_ guess*/ +#define configTICK_RATE_HZ ( ( TickType_t ) 1000 ) +#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 140 ) +#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 45 * 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 0 +#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 ( 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 INCLUDE_eTaskGetState 1 + +void vAssertCalled( void ); +#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled() + +/* 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 */ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/ParTest.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/ParTest.c new file mode 100644 index 000000000..80d5cb0a3 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/ParTest.c @@ -0,0 +1,198 @@ +/* + FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd. + All rights reserved + + VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS provides completely free yet professionally developed, * + * robust, strictly quality controlled, supported, and cross * + * platform software that has become a de facto standard. * + * * + * Help yourself get started quickly and support the FreeRTOS * + * project by purchasing a FreeRTOS tutorial book, reference * + * manual, or both from: http://www.FreeRTOS.org/Documentation * + * * + * Thank you! * + * * + *************************************************************************** + + This file is part of the FreeRTOS distribution. + + FreeRTOS is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License (version 2) as published by the + Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception. + + >>! NOTE: The modification to the GPL is included to allow you to distribute + >>! a combined work that includes FreeRTOS without being obliged to provide + >>! the source code for proprietary components outside of the FreeRTOS + >>! kernel. + + FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. Full license text is available from the following + link: http://www.freertos.org/a00114.html + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, a DOS + compatible FAT file system, and our tiny thread aware UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS + licenses offer ticketed support, indemnification and middleware. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. + + 1 tab == 4 spaces! +*/ + +/*----------------------------------------------------------- + * 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 0 + 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; + } + } + 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; + } + + } + taskEXIT_CRITICAL(); + } + } +#endif +} +/*-----------------------------------------------------------*/ + +void vParTestToggleLED( unsigned long ulLED ) +{ +#if 0 + if( ulLED < partestNUM_LEDS ) + { + taskENTER_CRITICAL(); + { + if( lParTestGetLEDState( ulLED ) != 0x00 ) + { + vParTestSetLED( ulLED, 0 ); + } + else + { + vParTestSetLED( ulLED, 1 ); + } + } + taskEXIT_CRITICAL(); + } +#endif +} +/*-----------------------------------------------------------*/ + +long lParTestGetLEDState( unsigned long ulLED ) +{ +long lReturn = pdTRUE; +#if 0 + 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; + } + } +#endif + return lReturn; +} +/*-----------------------------------------------------------*/ + diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc.c new file mode 100644 index 000000000..b580867de --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc.c @@ -0,0 +1,108 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_cgc.c +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : This file implements device driver for CGC module. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_cgc.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_CGC_Create +* Description : This function initializes the clock generator. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_CGC_Create(void) +{ + /* Set main clock control registers */ + SYSTEM.MOFCR.BYTE = _00_CGC_MAINOSC_RESONATOR | _00_CGC_MAINOSC_UNDER24M; + SYSTEM.MOSCWTCR.BYTE = _52_CGC_MOSCWTCR_VALUE; + + /* Set main clock operation */ + SYSTEM.MOSCCR.BIT.MOSTP = 0U; + + /* Wait for main clock oscillator wait counter overflow */ + while (1U != SYSTEM.OSCOVFSR.BIT.MOOVF); + + /* Set system clock */ + SYSTEM.SCKCR.LONG = _00000001_CGC_PCLKD_DIV_2 | _00000010_CGC_PCLKC_DIV_2 | _00000100_CGC_PCLKB_DIV_2 | + _00001000_CGC_PCLKA_DIV_2 | _00010000_CGC_BCLK_DIV_2 | _01000000_CGC_ICLK_DIV_2 | + _10000000_CGC_FCLK_DIV_2; + + /* Set PLL circuit */ + SYSTEM.PLLCR2.BIT.PLLEN = 0U; + SYSTEM.PLLCR.BIT.PLLSRCSEL = 0U; + SYSTEM.PLLCR.WORD = _0001_CGC_PLL_FREQ_DIV_2 | _1300_CGC_PLL_FREQ_MUL_10_0; + + /* Wait for PLL wait counter overflow */ + while (1U != SYSTEM.OSCOVFSR.BIT.PLOVF); + + + /* Disable sub-clock */ + SYSTEM.SOSCCR.BIT.SOSTP = 1U; + + /* Wait for the register modification to complete */ + while (1U != SYSTEM.SOSCCR.BIT.SOSTP); + + /* Set LOCO */ + SYSTEM.LOCOCR.BIT.LCSTP = 0U; + + /* Set UCLK */ + SYSTEM.SCKCR2.WORD = _0020_CGC_UCLK_DIV_3; + + /* Set SDCLK */ + SYSTEM.SCKCR.BIT.PSTOP0 = 1U; + + /* Set clock source */ + SYSTEM.SCKCR3.WORD = _0400_CGC_CLOCKSOURCE_PLL; +} + + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc.h b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc.h new file mode 100644 index 000000000..5d925b0dc --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc.h @@ -0,0 +1,230 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_cgc.h +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : This file implements device driver for CGC module. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ +#ifndef CGC_H +#define CGC_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ +/* + System Clock Control Register (SCKCR) +*/ +/* Peripheral Module Clock D (PCLKD) */ +#define _00000000_CGC_PCLKD_DIV_1 (0x00000000UL) /* x1 */ +#define _00000001_CGC_PCLKD_DIV_2 (0x00000001UL) /* x1/2 */ +#define _00000002_CGC_PCLKD_DIV_4 (0x00000002UL) /* x1/4 */ +#define _00000003_CGC_PCLKD_DIV_8 (0x00000003UL) /* x1/8 */ +#define _00000004_CGC_PCLKD_DIV_16 (0x00000004UL) /* x1/16 */ +#define _00000005_CGC_PCLKD_DIV_32 (0x00000005UL) /* x1/32 */ +#define _00000006_CGC_PCLKD_DIV_64 (0x00000006UL) /* x1/64 */ +/* Peripheral Module Clock C (PCLKC) */ +#define _00000000_CGC_PCLKC_DIV_1 (0x00000000UL) /* x1 */ +#define _00000010_CGC_PCLKC_DIV_2 (0x00000010UL) /* x1/2 */ +#define _00000020_CGC_PCLKC_DIV_4 (0x00000020UL) /* x1/4 */ +#define _00000030_CGC_PCLKC_DIV_8 (0x00000030UL) /* x1/8 */ +#define _00000040_CGC_PCLKC_DIV_16 (0x00000040UL) /* x1/16 */ +#define _00000050_CGC_PCLKC_DIV_32 (0x00000050UL) /* x1/32 */ +#define _00000060_CGC_PCLKC_DIV_64 (0x00000060UL) /* x1/64 */ +/* Peripheral Module Clock B (PCLKB) */ +#define _00000000_CGC_PCLKB_DIV_1 (0x00000000UL) /* x1 */ +#define _00000100_CGC_PCLKB_DIV_2 (0x00000100UL) /* x1/2 */ +#define _00000200_CGC_PCLKB_DIV_4 (0x00000200UL) /* x1/4 */ +#define _00000300_CGC_PCLKB_DIV_8 (0x00000300UL) /* x1/8 */ +#define _00000400_CGC_PCLKB_DIV_16 (0x00000400UL) /* x1/16 */ +#define _00000500_CGC_PCLKB_DIV_32 (0x00000500UL) /* x1/32 */ +#define _00000600_CGC_PCLKB_DIV_64 (0x00000600UL) /* x1/64 */ +/* Peripheral Module Clock A (PCLKA) */ +#define _00000000_CGC_PCLKA_DIV_1 (0x00000000UL) /* x1 */ +#define _00001000_CGC_PCLKA_DIV_2 (0x00001000UL) /* x1/2 */ +#define _00002000_CGC_PCLKA_DIV_4 (0x00002000UL) /* x1/4 */ +#define _00003000_CGC_PCLKA_DIV_8 (0x00003000UL) /* x1/8 */ +#define _00004000_CGC_PCLKA_DIV_16 (0x00004000UL) /* x1/16 */ +#define _00005000_CGC_PCLKA_DIV_32 (0x00005000UL) /* x1/32 */ +#define _00006000_CGC_PCLKA_DIV_64 (0x00006000UL) /* x1/64 */ +/* External Bus Clock (BCLK) */ +#define _00000000_CGC_BCLK_DIV_1 (0x00000000UL) /* x1 */ +#define _00010000_CGC_BCLK_DIV_2 (0x00010000UL) /* x1/2 */ +#define _00020000_CGC_BCLK_DIV_4 (0x00020000UL) /* x1/4 */ +#define _00030000_CGC_BCLK_DIV_8 (0x00030000UL) /* x1/8 */ +#define _00040000_CGC_BCLK_DIV_16 (0x00040000UL) /* x1/16 */ +#define _00050000_CGC_BCLK_DIV_32 (0x00050000UL) /* x1/32 */ +#define _00060000_CGC_BCLK_DIV_64 (0x00060000UL) /* x1/64 */ +/* System Clock (ICLK) */ +#define _00000000_CGC_ICLK_DIV_1 (0x00000000UL) /* x1 */ +#define _01000000_CGC_ICLK_DIV_2 (0x01000000UL) /* x1/2 */ +#define _02000000_CGC_ICLK_DIV_4 (0x02000000UL) /* x1/4 */ +#define _03000000_CGC_ICLK_DIV_8 (0x03000000UL) /* x1/8 */ +#define _04000000_CGC_ICLK_DIV_16 (0x04000000UL) /* x1/16 */ +#define _05000000_CGC_ICLK_DIV_32 (0x05000000UL) /* x1/32 */ +#define _06000000_CGC_ICLK_DIV_64 (0x06000000UL) /* x1/64 */ +/* System Clock (FCLK) */ +#define _00000000_CGC_FCLK_DIV_1 (0x00000000UL) /* x1 */ +#define _10000000_CGC_FCLK_DIV_2 (0x10000000UL) /* x1/2 */ +#define _20000000_CGC_FCLK_DIV_4 (0x20000000UL) /* x1/4 */ +#define _30000000_CGC_FCLK_DIV_8 (0x30000000UL) /* x1/8 */ +#define _40000000_CGC_FCLK_DIV_16 (0x40000000UL) /* x1/16 */ +#define _50000000_CGC_FCLK_DIV_32 (0x50000000UL) /* x1/32 */ +#define _60000000_CGC_FCLK_DIV_64 (0x60000000UL) /* x1/64 */ + +/* + System Clock Control Register 2 (SCKCR2) +*/ +#define _0010_CGC_UCLK_DIV_1 (0x0010U) /* x1/2 */ +#define _0020_CGC_UCLK_DIV_3 (0x0020U) /* x1/3 */ +#define _0030_CGC_UCLK_DIV_4 (0x0030U) /* x1/4 */ +#define _0040_CGC_UCLK_DIV_5 (0x0040U) /* x1/5 */ + +/* + System Clock Control Register 3 (SCKCR3) +*/ +#define _0000_CGC_CLOCKSOURCE_LOCO (0x0000U) /* LOCO */ +#define _0100_CGC_CLOCKSOURCE_HOCO (0x0100U) /* HOCO */ +#define _0200_CGC_CLOCKSOURCE_MAINCLK (0x0200U) /* Main clock oscillator */ +#define _0300_CGC_CLOCKSOURCE_SUBCLK (0x0300U) /* Sub-clock oscillator */ +#define _0400_CGC_CLOCKSOURCE_PLL (0x0400U) /* PLL circuit */ + +/* + PLL Control Register (PLLCR) +*/ +/* PLL Input Frequency Division Ratio Select (PLIDIV[1:0]) */ +#define _0000_CGC_PLL_FREQ_DIV_1 (0x0000U) /* x1 */ +#define _0001_CGC_PLL_FREQ_DIV_2 (0x0001U) /* x1/2 */ +#define _0002_CGC_PLL_FREQ_DIV_3 (0x0002U) /* x1/3 */ +/* Frequency Multiplication Factor Select (STC[5:0]) */ +#define _1300_CGC_PLL_FREQ_MUL_10_0 (0x1300U) /* x10.0 */ +#define _1400_CGC_PLL_FREQ_MUL_10_5 (0x1400U) /* x10.5 */ +#define _1500_CGC_PLL_FREQ_MUL_11_0 (0x1500U) /* x11.0 */ +#define _1600_CGC_PLL_FREQ_MUL_11_5 (0x1600U) /* x11.5 */ +#define _1700_CGC_PLL_FREQ_MUL_12_0 (0x1700U) /* x12.0 */ +#define _1800_CGC_PLL_FREQ_MUL_12_5 (0x1800U) /* x12.5 */ +#define _1900_CGC_PLL_FREQ_MUL_13_0 (0x1900U) /* x13.0 */ +#define _1A00_CGC_PLL_FREQ_MUL_13_5 (0x1A00U) /* x13.5 */ +#define _1B00_CGC_PLL_FREQ_MUL_14_0 (0x1B00U) /* x14.0 */ +#define _1C00_CGC_PLL_FREQ_MUL_14_5 (0x1C00U) /* x14.5 */ +#define _1D00_CGC_PLL_FREQ_MUL_15_0 (0x1D00U) /* x15.0 */ +#define _1E00_CGC_PLL_FREQ_MUL_15_5 (0x1E00U) /* x15.5 */ +#define _1F00_CGC_PLL_FREQ_MUL_16_0 (0x1F00U) /* x16.0 */ +#define _2000_CGC_PLL_FREQ_MUL_16_5 (0x2000U) /* x16.5 */ +#define _2100_CGC_PLL_FREQ_MUL_17_0 (0x2100U) /* x17.0 */ +#define _2200_CGC_PLL_FREQ_MUL_17_5 (0x2200U) /* x17.5 */ +#define _2300_CGC_PLL_FREQ_MUL_18_0 (0x2300U) /* x18.0 */ +#define _2400_CGC_PLL_FREQ_MUL_18_5 (0x2400U) /* x18.5 */ +#define _2500_CGC_PLL_FREQ_MUL_19_0 (0x2500U) /* x19.0 */ +#define _2600_CGC_PLL_FREQ_MUL_19_5 (0x2600U) /* x19.5 */ +#define _2700_CGC_PLL_FREQ_MUL_20_0 (0x2700U) /* x20.0 */ +#define _2800_CGC_PLL_FREQ_MUL_20_5 (0x2800U) /* x20.5 */ +#define _2900_CGC_PLL_FREQ_MUL_21_0 (0x2900U) /* x21.0 */ +#define _2A00_CGC_PLL_FREQ_MUL_21_5 (0x2A00U) /* x21.5 */ +#define _2B00_CGC_PLL_FREQ_MUL_22_0 (0x2B00U) /* x22.0 */ +#define _2C00_CGC_PLL_FREQ_MUL_22_5 (0x2C00U) /* x22.5 */ +#define _2D00_CGC_PLL_FREQ_MUL_23_0 (0x2D00U) /* x23.0 */ +#define _2E00_CGC_PLL_FREQ_MUL_23_5 (0x2E00U) /* x23.5 */ +#define _2F00_CGC_PLL_FREQ_MUL_24_0 (0x2F00U) /* x24.0 */ +#define _3000_CGC_PLL_FREQ_MUL_24_5 (0x3000U) /* x24.5 */ +#define _3100_CGC_PLL_FREQ_MUL_25_0 (0x3100U) /* x25.0 */ +#define _3200_CGC_PLL_FREQ_MUL_25_5 (0x3200U) /* x25.5 */ +#define _3300_CGC_PLL_FREQ_MUL_26_0 (0x3300U) /* x26.0 */ +#define _3400_CGC_PLL_FREQ_MUL_26_5 (0x3400U) /* x26.5 */ +#define _3500_CGC_PLL_FREQ_MUL_27_0 (0x3500U) /* x27.0 */ +#define _3600_CGC_PLL_FREQ_MUL_27_5 (0x3600U) /* x27.5 */ +#define _3700_CGC_PLL_FREQ_MUL_28_0 (0x3700U) /* x28.0 */ +#define _3800_CGC_PLL_FREQ_MUL_28_5 (0x3800U) /* x28.5 */ +#define _3900_CGC_PLL_FREQ_MUL_29_0 (0x3900U) /* x29.0 */ +#define _3A00_CGC_PLL_FREQ_MUL_29_5 (0x3A00U) /* x29.5 */ +#define _3B00_CGC_PLL_FREQ_MUL_30_0 (0x3B00U) /* x30.0 */ + +/* + Oscillation Stop Detection Control Register (OSTDCR) +*/ +/* Oscillation Stop Detection Interrupt Enable (OSTDIE) */ +#define _00_CGC_OSC_STOP_INT_DISABLE (0x00U) /* The oscillation stop detection interrupt is disabled */ +#define _01_CGC_OSC_STOP_INT_ENABLE (0x01U) /* The oscillation stop detection interrupt is enabled */ +/* Oscillation Stop Detection Function Enable (OSTDE) */ +#define _00_CGC_OSC_STOP_DISABLE (0x00U) /* Oscillation stop detection function is disabled */ +#define _80_CGC_OSC_STOP_ENABLE (0x80U) /* Oscillation stop detection function is enabled */ + +/* + High-Speed On-Chip Oscillator Control Register 2 (HOCOCR2) +*/ +/* HOCO Frequency Setting (HCFRQ[1:0]) */ +#define _00_CGC_HOCO_CLK_16 (0x00U) /* 16 MHz */ +#define _01_CGC_HOCO_CLK_18 (0x01U) /* 18 MHz */ +#define _02_CGC_HOCO_CLK_20 (0x02U) /* 20 MHz */ + +/* + Clock Output Control Register (CKOCR) +*/ +/* Clock Output Source Select (CKOSEL[2:0]) */ +#define _0000_CGC_CLKOUT_LOCO (0x0000U) /* LOCO */ +#define _0100_CGC_CLKOUT_HOCO (0x0100U) /* HOCO */ +#define _0200_CGC_CLKOUT_MAINCLK (0x0200U) /* Main clock oscillator */ +#define _0300_CGC_CLKOUT_SUBCLK (0x0300U) /* Sub-clock oscillator */ +/* Clock Output Division Ratio Select (CKODIV[2:0]) */ +#define _0000_CGC_CLKOUT_DIV_1 (0x0000U) /* x1 */ +#define _1000_CGC_CLKOUT_DIV_2 (0x1000U) /* x1/2 */ +#define _2000_CGC_CLKOUT_DIV_4 (0x2000U) /* x1/4 */ +#define _3000_CGC_CLKOUT_DIV_8 (0x3000U) /* x1/8 */ +#define _4000_CGC_CLKOUT_DIV_16 (0x4000U) /* x1/16 */ +/* Clock Output Control (CKOSTP) */ +#define _0000_CGC_CLKOUT_ENABLE (0x0000U) /* CLKOUT pin output is operating */ +#define _8000_CGC_CLKOUT_DISABLE (0x8000U) /* CLKOUT pin output is stopped (fixed at low level) */ + +/* + Main Clock Oscillator Forced Oscillation Control Register (MOFCR) +*/ +/* Main Oscillator Drive Capability 2 Switching (MODRV2[1:0]) */ +#define _00_CGC_MAINOSC_UNDER24M (0x00U) /* 20.1 to 24 MHz */ +#define _10_CGC_MAINOSC_UNDER20M (0x10U) /* 16.1 to 20 MHz */ +#define _20_CGC_MAINOSC_UNDER16M (0x20U) /* 8.1 to 16 MHz */ +#define _30_CGC_MAINOSC_EQUATE8M (0x30U) /* 8 MHz */ +/* Main Clock Oscillator Switch (MOSEL) */ +#define _00_CGC_MAINOSC_RESONATOR (0x00U) /* Resonator */ +#define _40_CGC_MAINOSC_EXTERNAL (0x40U) /* External oscillator input */ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +#define _52_CGC_MOSCWTCR_VALUE (0x52U) /* Main Clock Oscillator Wait Time */ + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +void R_CGC_Create(void); + +/* Start user code for function. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#endif \ No newline at end of file diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc_user.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc_user.c new file mode 100644 index 000000000..678edd1ed --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cgc_user.c @@ -0,0 +1,57 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_cgc_user.c +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : This file implements device driver for CGC module. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_cgc.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cmt.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cmt.c new file mode 100644 index 000000000..69cbee74f --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cmt.c @@ -0,0 +1,106 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_cmt.c +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : This file implements device driver for CMT module. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_cmt.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_CMT0_Create +* Description : This function initializes the CMT0 channel. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_CMT0_Create(void) +{ + /* Disable CMI interrupt */ + IEN(CMT0, CMI0) = 0U; + + /* Cancel CMT stop state in LPC */ + MSTP(CMT0) = 0U; + + /* Set control registers */ + CMT0.CMCR.WORD = _0002_CMT_CMCR_CKS_PCLK128 | _0040_CMT_CMCR_CMIE_ENABLE; + CMT0.CMCOR = _B71B_CMT0_CMCOR_VALUE; + + /* Set CMI0 priority level */ + IPR(CMT0,CMI0) = _08_CMT_PRIORITY_LEVEL8; +} +/*********************************************************************************************************************** +* Function Name: R_CMT0_Start +* Description : This function starts the CMT0 channel counter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_CMT0_Start(void) +{ + /* Enable CMI0 interrupt in ICU */ + IEN(CMT0,CMI0) = 1U; + + /* Start CMT0 count */ + CMT.CMSTR0.BIT.STR0 = 1U; +} +/*********************************************************************************************************************** +* Function Name: R_CMT0_Stop +* Description : This function stops the CMT0 channel counter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_CMT0_Stop(void) +{ + /* Disable CMI0 interrupt in ICU */ + IEN(CMT0,CMI0) = 0U; + + /* Stop CMT0 count */ + CMT.CMSTR0.BIT.STR0 = 0U; +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cmt.h b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cmt.h new file mode 100644 index 000000000..945b2687e --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_cmt.h @@ -0,0 +1,91 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_cmt.h +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : This file implements device driver for CMT module. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ +#ifndef CMT_H +#define CMT_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ +/* + Compare Match Timer Control Register (CMCR) +*/ +/* Clock Select (CKS[1:0]) */ +#define _0000_CMT_CMCR_CKS_PCLK8 (0x0000U) /* PCLK/8 */ +#define _0001_CMT_CMCR_CKS_PCLK32 (0x0001U) /* PCLK/32 */ +#define _0002_CMT_CMCR_CKS_PCLK128 (0x0002U) /* PCLK/128 */ +#define _0003_CMT_CMCR_CKS_PCLK512 (0x0003U) /* PCLK/512 */ +/* Compare Match Interrupt Enable (CMIE) */ +#define _0000_CMT_CMCR_CMIE_DISABLE (0x0000U) /* Compare match interrupt (CMIn) disabled */ +#define _0040_CMT_CMCR_CMIE_ENABLE (0x0040U) /* Compare match interrupt (CMIn) enabled */ + +/* + Interrupt Source Priority Register n (IPRn) +*/ +/* Interrupt Priority Level Select (IPR[3:0]) */ +#define _00_CMT_PRIORITY_LEVEL0 (0x00U) /* Level 0 (interrupt disabled) */ +#define _01_CMT_PRIORITY_LEVEL1 (0x01U) /* Level 1 */ +#define _02_CMT_PRIORITY_LEVEL2 (0x02U) /* Level 2 */ +#define _03_CMT_PRIORITY_LEVEL3 (0x03U) /* Level 3 */ +#define _04_CMT_PRIORITY_LEVEL4 (0x04U) /* Level 4 */ +#define _05_CMT_PRIORITY_LEVEL5 (0x05U) /* Level 5 */ +#define _06_CMT_PRIORITY_LEVEL6 (0x06U) /* Level 6 */ +#define _07_CMT_PRIORITY_LEVEL7 (0x07U) /* Level 7 */ +#define _08_CMT_PRIORITY_LEVEL8 (0x08U) /* Level 8 */ +#define _09_CMT_PRIORITY_LEVEL9 (0x09U) /* Level 9 */ +#define _0A_CMT_PRIORITY_LEVEL10 (0x0AU) /* Level 10 */ +#define _0B_CMT_PRIORITY_LEVEL11 (0x0BU) /* Level 11 */ +#define _0C_CMT_PRIORITY_LEVEL12 (0x0CU) /* Level 12 */ +#define _0D_CMT_PRIORITY_LEVEL13 (0x0DU) /* Level 13 */ +#define _0E_CMT_PRIORITY_LEVEL14 (0x0EU) /* Level 14 */ +#define _0F_CMT_PRIORITY_LEVEL15 (0x0FU) /* Level 15 (highest) */ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* Compare Match Timer Constant Register (CMCOR) */ +#define _B71B_CMT0_CMCOR_VALUE (0xB71BU) + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +void R_CMT0_Create(void); +void R_CMT0_Start(void); +void R_CMT0_Stop(void); + +/* Start user code for function. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#endif \ No newline at end of file diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_dbsct.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_dbsct.c new file mode 100644 index 000000000..b434d7922 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_dbsct.c @@ -0,0 +1,89 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_dbsct.c +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : Setting of B. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ + +#pragma unpack + +#pragma section C C$DSEC +extern const struct { + uint8_t *rom_s; /* Start address of the initialized data section in ROM */ + uint8_t *rom_e; /* End address of the initialized data section in ROM */ + uint8_t *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 { + uint8_t *b_s; /* Start address of non-initialized data section */ + uint8_t *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. +*/ +uint8_t * const _CTBL[] = { + __sectop("C_1"), __sectop("C_2"), __sectop("C"), + __sectop("W_1"), __sectop("W_2"), __sectop("W"), + __sectop("L"), __sectop("SU"), + __sectop("C$DSEC"), __sectop("C$BSEC"), + __sectop("C$INIT"), __sectop("C$VTBL"), __sectop("C$VECT") +}; + +#pragma packoption + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_hardware_setup.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_hardware_setup.c new file mode 100644 index 000000000..427d83ad3 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_hardware_setup.c @@ -0,0 +1,93 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_hardware_setup.c +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : This file implements system initializing function. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_cgc.h" +#include "r_cg_cmt.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_Systeminit +* Description : This function initializes every macro. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_Systeminit(void) +{ + /* Enable writing to registers related to operating modes, LPC, CGC and software reset */ + SYSTEM.PRCR.WORD = 0xA50BU; + + /* Enable writing to MPC pin function control registers */ + MPC.PWPR.BIT.B0WI = 0U; + MPC.PWPR.BIT.PFSWE = 1U; + + /* Set peripheral settings */ + R_CGC_Create(); + + /* Disable writing to MPC pin function control registers */ + MPC.PWPR.BIT.PFSWE = 0U; + MPC.PWPR.BIT.B0WI = 1U; + + /* Enable protection */ + SYSTEM.PRCR.WORD = 0xA500U; +} +/*********************************************************************************************************************** +* Function Name: HardwareSetup +* Description : This function initializes hardware setting. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void HardwareSetup(void) +{ + R_Systeminit(); +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_intprg.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_intprg.c new file mode 100644 index 000000000..ea9626284 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_intprg.c @@ -0,0 +1,111 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_intprg.c +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : Setting of B. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include +#include "r_cg_vect.h" +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ + +#pragma section IntPRG + +/* Undefined exceptions for supervisor instruction, undefined instruction and floating point exceptions */ +void r_undefined_exception(void) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* Reserved */ +void r_reserved_exception(void) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* NMI */ +void r_nmi_exception(void) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* ICU GROUPBE0 */ +void r_icua_group_be0_interrupt(void) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* ICU GROUPBL0 */ +void r_icua_group_bl0_interrupt(void) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* ICU GROUPBL1 */ +void r_icua_group_bl1_interrupt(void) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* ICU GROUPAL0 */ +void r_icua_group_al0_interrupt(void) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* ICU GROUPAL1 */ +void r_icua_group_al1_interrupt(void) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_iodefine.h b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_iodefine.h new file mode 100644 index 000000000..3d7ede831 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_iodefine.h @@ -0,0 +1,18605 @@ +/******************************************************************************** +* +* Device : RX/RX600/RX64M +* +* File Name : iodefine.h +* +* Abstract : Definition of I/O Register +* +* History : 0.20 (2013-05-30) [Hardware Manual Revision : 0.40] +* +* Note : This is a typical example. +* +* Copyright (C) 2013 Renesas Electronics Corporation and +* Renesas Solutions Corp. All rights reserved. +* +*********************************************************************************/ +/* */ +/* DESCRIPTION : Definition of ICU Register */ +/* CPU TYPE : RX64M */ +/* */ +/* Usage : IR,DTCER,IER,IPR of ICU Register */ +/* The following IR, DTCE, IEN, IPR macro functions simplify usage. */ +/* The bit access operation is "Bit_Name(interrupt source,name)". */ +/* A part of the name can be omitted. */ +/* for example : */ +/* IR(BSC,BUSERR) = 0; expands to : */ +/* ICU.IR[16].BIT.IR = 0; */ +/* */ +/* DTCE(ICU,IRQ0) = 1; expands to : */ +/* ICU.DTCER[64].BIT.DTCE = 1; */ +/* */ +/* IEN(CMT0,CMI0) = 1; expands to : */ +/* ICU.IER[0x03].BIT.IEN4 = 1; */ +/* */ +/* Usage : #pragma interrupt Function_Identifier(vect=**) */ +/* The number of vector is "(interrupt source, name)". */ +/* for example : */ +/* #pragma interrupt INT_IRQ0(vect=VECT(ICU,IRQ0)) expands to : */ +/* #pragma interrupt INT_IRQ0(vect=64) */ +/* #pragma interrupt INT_CMT0_CMI0(vect=VECT(CMT0,CMI0)) expands to : */ +/* #pragma interrupt INT_CMT0_CMI0(vect=28) */ +/* */ +/* Usage : MSTPCRA,MSTPCRB,MSTPCRC of SYSTEM Register */ +/* The bit access operation is "MSTP(name)". */ +/* The name that can be used is a macro name defined with "iodefine.h". */ +/* for example : */ +/* MSTP(TMR2) = 0; // TMR2,TMR3 expands to : */ +/* SYSTEM.MSTPCRA.BIT.MSTPA4 = 0; */ +/* MSTP(SCI0) = 0; // SCI0,SMCI0 expands to : */ +/* SYSTEM.MSTPCRB.BIT.MSTPB31 = 0; */ +/* MSTP(TPU4) = 0; // TPU0,TPU1,TPU2,TPU3,TPU4,TPU5 expands to : */ +/* SYSTEM.MSTPCRA.BIT.MSTPA13 = 0; */ +/* MSTP(CMT3) = 0; // CMT2,CMT3 expands to : */ +/* SYSTEM.MSTPCRA.BIT.MSTPA14 = 0; */ +/* */ +/* */ +/********************************************************************************/ +#ifndef __RX64MIODEFINE_HEADER__ +#define __RX64MIODEFINE_HEADER__ +#pragma bit_order left +#pragma unpack +struct st_bsc { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char STSCLR:1; + } BIT; + } BERCLR; + char wk0[3]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TOEN:1; + unsigned char IGAEN:1; + } BIT; + } BEREN; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MST:3; + unsigned char :2; + unsigned char TO:1; + unsigned char IA:1; + } BIT; + } BERSR1; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short ADDR:13; + } BIT; + } BERSR2; + char wk3[4]; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short BPEB:2; + unsigned short BPFB:2; + unsigned short BPHB:2; + unsigned short BPGB:2; + unsigned short BPIB:2; + unsigned short BPRO:2; + unsigned short BPRA:2; + } BIT; + } BUSPRI; + char wk4[7408]; + union { + unsigned short WORD; + struct { + unsigned short PRMOD:1; + unsigned short :5; + unsigned short PWENB:1; + unsigned short PRENB:1; + unsigned short :4; + unsigned short EWENB:1; + unsigned short :2; + unsigned short WRMOD:1; + } BIT; + } CS0MOD; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long CSRWAIT:5; + unsigned long :3; + unsigned long CSWWAIT:5; + unsigned long :5; + unsigned long CSPRWAIT:3; + unsigned long :5; + unsigned long CSPWWAIT:3; + } BIT; + } CS0WCR1; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long CSON:3; + unsigned long :1; + unsigned long WDON:3; + unsigned long :1; + unsigned long WRON:3; + unsigned long :1; + unsigned long RDON:3; + unsigned long :2; + unsigned long AWAIT:2; + unsigned long :1; + unsigned long WDOFF:3; + unsigned long :1; + unsigned long CSWOFF:3; + unsigned long :1; + unsigned long CSROFF:3; + } BIT; + } CS0WCR2; + char wk5[6]; + union { + unsigned short WORD; + struct { + unsigned short PRMOD:1; + unsigned short :5; + unsigned short PWENB:1; + unsigned short PRENB:1; + unsigned short :4; + unsigned short EWENB:1; + unsigned short :2; + unsigned short WRMOD:1; + } BIT; + } CS1MOD; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long CSRWAIT:5; + unsigned long :3; + unsigned long CSWWAIT:5; + unsigned long :5; + unsigned long CSPRWAIT:3; + unsigned long :5; + unsigned long CSPWWAIT:3; + } BIT; + } CS1WCR1; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long CSON:3; + unsigned long :1; + unsigned long WDON:3; + unsigned long :1; + unsigned long WRON:3; + unsigned long :1; + unsigned long RDON:3; + unsigned long :2; + unsigned long AWAIT:2; + unsigned long :1; + unsigned long WDOFF:3; + unsigned long :1; + unsigned long CSWOFF:3; + unsigned long :1; + unsigned long CSROFF:3; + } BIT; + } CS1WCR2; + char wk6[6]; + union { + unsigned short WORD; + struct { + unsigned short PRMOD:1; + unsigned short :5; + unsigned short PWENB:1; + unsigned short PRENB:1; + unsigned short :4; + unsigned short EWENB:1; + unsigned short :2; + unsigned short WRMOD:1; + } BIT; + } CS2MOD; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long CSRWAIT:5; + unsigned long :3; + unsigned long CSWWAIT:5; + unsigned long :5; + unsigned long CSPRWAIT:3; + unsigned long :5; + unsigned long CSPWWAIT:3; + } BIT; + } CS2WCR1; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long CSON:3; + unsigned long :1; + unsigned long WDON:3; + unsigned long :1; + unsigned long WRON:3; + unsigned long :1; + unsigned long RDON:3; + unsigned long :2; + unsigned long AWAIT:2; + unsigned long :1; + unsigned long WDOFF:3; + unsigned long :1; + unsigned long CSWOFF:3; + unsigned long :1; + unsigned long CSROFF:3; + } BIT; + } CS2WCR2; + char wk7[6]; + union { + unsigned short WORD; + struct { + unsigned short PRMOD:1; + unsigned short :5; + unsigned short PWENB:1; + unsigned short PRENB:1; + unsigned short :4; + unsigned short EWENB:1; + unsigned short :2; + unsigned short WRMOD:1; + } BIT; + } CS3MOD; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long CSRWAIT:5; + unsigned long :3; + unsigned long CSWWAIT:5; + unsigned long :5; + unsigned long CSPRWAIT:3; + unsigned long :5; + unsigned long CSPWWAIT:3; + } BIT; + } CS3WCR1; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long CSON:3; + unsigned long :1; + unsigned long WDON:3; + unsigned long :1; + unsigned long WRON:3; + unsigned long :1; + unsigned long RDON:3; + unsigned long :2; + unsigned long AWAIT:2; + unsigned long :1; + unsigned long WDOFF:3; + unsigned long :1; + unsigned long CSWOFF:3; + unsigned long :1; + unsigned long CSROFF:3; + } BIT; + } CS3WCR2; + char wk8[6]; + union { + unsigned short WORD; + struct { + unsigned short PRMOD:1; + unsigned short :5; + unsigned short PWENB:1; + unsigned short PRENB:1; + unsigned short :4; + unsigned short EWENB:1; + unsigned short :2; + unsigned short WRMOD:1; + } BIT; + } CS4MOD; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long CSRWAIT:5; + unsigned long :3; + unsigned long CSWWAIT:5; + unsigned long :5; + unsigned long CSPRWAIT:3; + unsigned long :5; + unsigned long CSPWWAIT:3; + } BIT; + } CS4WCR1; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long CSON:3; + unsigned long :1; + unsigned long WDON:3; + unsigned long :1; + unsigned long WRON:3; + unsigned long :1; + unsigned long RDON:3; + unsigned long :2; + unsigned long AWAIT:2; + unsigned long :1; + unsigned long WDOFF:3; + unsigned long :1; + unsigned long CSWOFF:3; + unsigned long :1; + unsigned long CSROFF:3; + } BIT; + } CS4WCR2; + char wk9[6]; + union { + unsigned short WORD; + struct { + unsigned short PRMOD:1; + unsigned short :5; + unsigned short PWENB:1; + unsigned short PRENB:1; + unsigned short :4; + unsigned short EWENB:1; + unsigned short :2; + unsigned short WRMOD:1; + } BIT; + } CS5MOD; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long CSRWAIT:5; + unsigned long :3; + unsigned long CSWWAIT:5; + unsigned long :5; + unsigned long CSPRWAIT:3; + unsigned long :5; + unsigned long CSPWWAIT:3; + } BIT; + } CS5WCR1; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long CSON:3; + unsigned long :1; + unsigned long WDON:3; + unsigned long :1; + unsigned long WRON:3; + unsigned long :1; + unsigned long RDON:3; + unsigned long :2; + unsigned long AWAIT:2; + unsigned long :1; + unsigned long WDOFF:3; + unsigned long :1; + unsigned long CSWOFF:3; + unsigned long :1; + unsigned long CSROFF:3; + } BIT; + } CS5WCR2; + char wk10[6]; + union { + unsigned short WORD; + struct { + unsigned short PRMOD:1; + unsigned short :5; + unsigned short PWENB:1; + unsigned short PRENB:1; + unsigned short :4; + unsigned short EWENB:1; + unsigned short :2; + unsigned short WRMOD:1; + } BIT; + } CS6MOD; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long CSRWAIT:5; + unsigned long :3; + unsigned long CSWWAIT:5; + unsigned long :5; + unsigned long CSPRWAIT:3; + unsigned long :5; + unsigned long CSPWWAIT:3; + } BIT; + } CS6WCR1; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long CSON:3; + unsigned long :1; + unsigned long WDON:3; + unsigned long :1; + unsigned long WRON:3; + unsigned long :1; + unsigned long RDON:3; + unsigned long :2; + unsigned long AWAIT:2; + unsigned long :1; + unsigned long WDOFF:3; + unsigned long :1; + unsigned long CSWOFF:3; + unsigned long :1; + unsigned long CSROFF:3; + } BIT; + } CS6WCR2; + char wk11[6]; + union { + unsigned short WORD; + struct { + unsigned short PRMOD:1; + unsigned short :5; + unsigned short PWENB:1; + unsigned short PRENB:1; + unsigned short :4; + unsigned short EWENB:1; + unsigned short :2; + unsigned short WRMOD:1; + } BIT; + } CS7MOD; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long CSRWAIT:5; + unsigned long :3; + unsigned long CSWWAIT:5; + unsigned long :5; + unsigned long CSPRWAIT:3; + unsigned long :5; + unsigned long CSPWWAIT:3; + } BIT; + } CS7WCR1; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long CSON:3; + unsigned long :1; + unsigned long WDON:3; + unsigned long :1; + unsigned long WRON:3; + unsigned long :1; + unsigned long RDON:3; + unsigned long :2; + unsigned long AWAIT:2; + unsigned long :1; + unsigned long WDOFF:3; + unsigned long :1; + unsigned long CSWOFF:3; + unsigned long :1; + unsigned long CSROFF:3; + } BIT; + } CS7WCR2; + char wk12[1926]; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short MPXEN:1; + unsigned short :3; + unsigned short EMODE:1; + unsigned short :2; + unsigned short BSIZE:2; + unsigned short :3; + unsigned short EXENB:1; + } BIT; + } CS0CR; + char wk13[6]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short WRCV:4; + unsigned short :4; + unsigned short RRCV:4; + } BIT; + } CS0REC; + char wk14[6]; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short MPXEN:1; + unsigned short :3; + unsigned short EMODE:1; + unsigned short :2; + unsigned short BSIZE:2; + unsigned short :3; + unsigned short EXENB:1; + } BIT; + } CS1CR; + char wk15[6]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short WRCV:4; + unsigned short :4; + unsigned short RRCV:4; + } BIT; + } CS1REC; + char wk16[6]; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short MPXEN:1; + unsigned short :3; + unsigned short EMODE:1; + unsigned short :2; + unsigned short BSIZE:2; + unsigned short :3; + unsigned short EXENB:1; + } BIT; + } CS2CR; + char wk17[6]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short WRCV:4; + unsigned short :4; + unsigned short RRCV:4; + } BIT; + } CS2REC; + char wk18[6]; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short MPXEN:1; + unsigned short :3; + unsigned short EMODE:1; + unsigned short :2; + unsigned short BSIZE:2; + unsigned short :3; + unsigned short EXENB:1; + } BIT; + } CS3CR; + char wk19[6]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short WRCV:4; + unsigned short :4; + unsigned short RRCV:4; + } BIT; + } CS3REC; + char wk20[6]; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short MPXEN:1; + unsigned short :3; + unsigned short EMODE:1; + unsigned short :2; + unsigned short BSIZE:2; + unsigned short :3; + unsigned short EXENB:1; + } BIT; + } CS4CR; + char wk21[6]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short WRCV:4; + unsigned short :4; + unsigned short RRCV:4; + } BIT; + } CS4REC; + char wk22[6]; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short MPXEN:1; + unsigned short :3; + unsigned short EMODE:1; + unsigned short :2; + unsigned short BSIZE:2; + unsigned short :3; + unsigned short EXENB:1; + } BIT; + } CS5CR; + char wk23[6]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short WRCV:4; + unsigned short :4; + unsigned short RRCV:4; + } BIT; + } CS5REC; + char wk24[6]; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short MPXEN:1; + unsigned short :3; + unsigned short EMODE:1; + unsigned short :2; + unsigned short BSIZE:2; + unsigned short :3; + unsigned short EXENB:1; + } BIT; + } CS6CR; + char wk25[6]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short WRCV:4; + unsigned short :4; + unsigned short RRCV:4; + } BIT; + } CS6REC; + char wk26[6]; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short MPXEN:1; + unsigned short :3; + unsigned short EMODE:1; + unsigned short :2; + unsigned short BSIZE:2; + unsigned short :3; + unsigned short EXENB:1; + } BIT; + } CS7CR; + char wk27[6]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short WRCV:4; + unsigned short :4; + unsigned short RRCV:4; + } BIT; + } CS7REC; + char wk28[4]; + union { + unsigned short WORD; + struct { + unsigned short RCVENM7:1; + unsigned short RCVENM6:1; + unsigned short RCVENM5:1; + unsigned short RCVENM4:1; + unsigned short RCVENM3:1; + unsigned short RCVENM2:1; + unsigned short RCVENM1:1; + unsigned short RCVENM0:1; + unsigned short RCVEN7:1; + unsigned short RCVEN6:1; + unsigned short RCVEN5:1; + unsigned short RCVEN4:1; + unsigned short RCVEN3:1; + unsigned short RCVEN2:1; + unsigned short RCVEN1:1; + unsigned short RCVEN0:1; + } BIT; + } CSRECEN; + char wk29[894]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BSIZE:2; + unsigned char :3; + unsigned char EXENB:1; + } BIT; + } SDCCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char EMODE:1; + } BIT; + } SDCMOD; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char BE:1; + } BIT; + } SDAMOD; + char wk30[13]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SFEN:1; + } BIT; + } SDSELF; + char wk31[3]; + union { + unsigned short WORD; + struct { + unsigned short REFW:4; + unsigned short RFC:12; + } BIT; + } SDRFCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char RFEN:1; + } BIT; + } SDRFEN; + char wk32[9]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char INIRQ:1; + } BIT; + } SDICR; + char wk33[3]; + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short PRC:3; + unsigned short ARFC:4; + unsigned short ARFI:4; + } BIT; + } SDIR; + char wk34[26]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char MXC:2; + } BIT; + } SDADR; + char wk35[3]; + union { + unsigned long LONG; + struct { + unsigned long :13; + unsigned long RAS:3; + unsigned long :2; + unsigned long RCD:2; + unsigned long RP:3; + unsigned long WR:1; + unsigned long :5; + unsigned long CL:3; + } BIT; + } SDTR; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short MR:15; + } BIT; + } SDMOD; + char wk36[6]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char SRFST:1; + unsigned char INIST:1; + unsigned char :2; + unsigned char MRSST:1; + } BIT; + } SDSR; +}; + +struct st_cac { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char CFME:1; + } BIT; + } CACR0; + union { + unsigned char BYTE; + struct { + unsigned char EDGES:2; + unsigned char TCSS:2; + unsigned char FMCS:3; + unsigned char CACREFE:1; + } BIT; + } CACR1; + union { + unsigned char BYTE; + struct { + unsigned char DFS:2; + unsigned char RCDS:2; + unsigned char RSCS:3; + unsigned char RPS:1; + } BIT; + } CACR2; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char OVFFCL:1; + unsigned char MENDFCL:1; + unsigned char FERRFCL:1; + unsigned char :1; + unsigned char OVFIE:1; + unsigned char MENDIE:1; + unsigned char FERRIE:1; + } BIT; + } CAICR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char OVFF:1; + unsigned char MENDF:1; + unsigned char FERRF:1; + } BIT; + } CASTR; + char wk0[1]; + unsigned short CAULVR; + unsigned short CALLVR; + unsigned short CACNTBR; +}; + +struct st_can { + struct { + union { + unsigned long LONG; + struct { + unsigned short H; + unsigned short L; + } WORD; + struct { + unsigned char HH; + unsigned char HL; + unsigned char LH; + unsigned char LL; + } BYTE; + struct { + unsigned long IDE:1; + unsigned long RTR:1; + unsigned long :1; + unsigned long SID:11; + unsigned long EID:18; + } BIT; + } ID; + unsigned short DLC; + unsigned char DATA[8]; + unsigned short TS; + } MB[32]; + union { + unsigned long LONG; + struct { + unsigned short H; + unsigned short L; + } WORD; + struct { + unsigned char HH; + unsigned char HL; + unsigned char LH; + unsigned char LL; + } BYTE; + struct { + unsigned long :3; + unsigned long SID:11; + unsigned long EID:18; + } BIT; + } MKR[8]; + union { + unsigned long LONG; + struct { + unsigned short H; + unsigned short L; + } WORD; + struct { + unsigned char HH; + unsigned char HL; + unsigned char LH; + unsigned char LL; + } BYTE; + struct { + unsigned long IDE:1; + unsigned long RTR:1; + unsigned long :1; + unsigned long SID:11; + unsigned long EID:18; + } BIT; + } FIDCR0; + union { + unsigned long LONG; + struct { + unsigned short H; + unsigned short L; + } WORD; + struct { + unsigned char HH; + unsigned char HL; + unsigned char LH; + unsigned char LL; + } BYTE; + struct { + unsigned long IDE:1; + unsigned long RTR:1; + unsigned long :1; + unsigned long SID:11; + unsigned long EID:18; + } BIT; + } FIDCR1; + union { + unsigned long LONG; + struct { + unsigned short H; + unsigned short L; + } WORD; + struct { + unsigned char HH; + unsigned char HL; + unsigned char LH; + unsigned char LL; + } BYTE; + struct { + unsigned char MB31:1; + unsigned char MB30:1; + unsigned char MB29:1; + unsigned char MB28:1; + unsigned char MB27:1; + unsigned char MB26:1; + unsigned char MB25:1; + unsigned char MB24:1; + unsigned char MB23:1; + unsigned char MB22:1; + unsigned char MB21:1; + unsigned char MB20:1; + unsigned char MB19:1; + unsigned char MB18:1; + unsigned char MB17:1; + unsigned char MB16:1; + unsigned char MB15:1; + unsigned char MB14:1; + unsigned char MB13:1; + unsigned char MB12:1; + unsigned char MB11:1; + unsigned char MB10:1; + unsigned char MB9:1; + unsigned char MB8:1; + unsigned char MB7:1; + unsigned char MB6:1; + unsigned char MB5:1; + unsigned char MB4:1; + unsigned char MB3:1; + unsigned char MB2:1; + unsigned char MB1:1; + unsigned char MB0:1; + } BIT; + } MKIVLR; + union { + unsigned long LONG; + struct { + unsigned short H; + unsigned short L; + } WORD; + struct { + unsigned char HH; + unsigned char HL; + unsigned char LH; + unsigned char LL; + } BYTE; + struct { + unsigned char MB31:1; + unsigned char MB30:1; + unsigned char MB29:1; + unsigned char MB28:1; + unsigned char MB27:1; + unsigned char MB26:1; + unsigned char MB25:1; + unsigned char MB24:1; + unsigned char MB23:1; + unsigned char MB22:1; + unsigned char MB21:1; + unsigned char MB20:1; + unsigned char MB19:1; + unsigned char MB18:1; + unsigned char MB17:1; + unsigned char MB16:1; + unsigned char MB15:1; + unsigned char MB14:1; + unsigned char MB13:1; + unsigned char MB12:1; + unsigned char MB11:1; + unsigned char MB10:1; + unsigned char MB9:1; + unsigned char MB8:1; + unsigned char MB7:1; + unsigned char MB6:1; + unsigned char MB5:1; + unsigned char MB4:1; + unsigned char MB3:1; + unsigned char MB2:1; + unsigned char MB1:1; + unsigned char MB0:1; + } BIT; + } MIER; + char wk0[1008]; + union { + unsigned char BYTE; + union { + struct { + unsigned char TRMREQ:1; + unsigned char RECREQ:1; + unsigned char :1; + unsigned char ONESHOT:1; + unsigned char :1; + unsigned char TRMABT:1; + unsigned char TRMACTIVE:1; + unsigned char SENTDATA:1; + } TX; + struct { + unsigned char TRMREQ:1; + unsigned char RECREQ:1; + unsigned char :1; + unsigned char ONESHOT:1; + unsigned char :1; + unsigned char MSGLOST:1; + unsigned char INVALDATA:1; + unsigned char NEWDATA:1; + } RX; + } BIT; + } MCTL[32]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :2; + unsigned char RBOC:1; + unsigned char BOM:2; + unsigned char SLPM:1; + unsigned char CANM:2; + unsigned char TSPS:2; + unsigned char TSRC:1; + unsigned char TPM:1; + unsigned char MLM:1; + unsigned char IDFM:2; + unsigned char MBM:1; + } BIT; + } CTLR; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :1; + unsigned char RECST:1; + unsigned char TRMST:1; + unsigned char BOST:1; + unsigned char EPST:1; + unsigned char SLPST:1; + unsigned char HLTST:1; + unsigned char RSTST:1; + unsigned char EST:1; + unsigned char TABST:1; + unsigned char FMLST:1; + unsigned char NMLST:1; + unsigned char TFST:1; + unsigned char RFST:1; + unsigned char SDST:1; + unsigned char NDST:1; + } BIT; + } STR; + union { + unsigned long LONG; + struct { + unsigned short H; + unsigned short L; + } WORD; + struct { + unsigned char HH; + unsigned char HL; + unsigned char LH; + unsigned char LL; + } BYTE; + struct { + unsigned long TSEG1:4; + unsigned long :2; + unsigned long BRP:10; + unsigned long :2; + unsigned long SJW:2; + unsigned long :1; + unsigned long TSEG2:3; + unsigned long :7; + unsigned long CCLKS:1; + } BIT; + } BCR; + union { + unsigned char BYTE; + struct { + unsigned char RFEST:1; + unsigned char RFWST:1; + unsigned char RFFST:1; + unsigned char RFMLF:1; + unsigned char RFUST:3; + unsigned char RFE:1; + } BIT; + } RFCR; + unsigned char RFPCR; + union { + unsigned char BYTE; + struct { + unsigned char TFEST:1; + unsigned char TFFST:1; + unsigned char :2; + unsigned char TFUST:3; + unsigned char TFE:1; + } BIT; + } TFCR; + unsigned char TFPCR; + union { + unsigned char BYTE; + struct { + unsigned char BLIE:1; + unsigned char OLIE:1; + unsigned char ORIE:1; + unsigned char BORIE:1; + unsigned char BOEIE:1; + unsigned char EPIE:1; + unsigned char EWIE:1; + unsigned char BEIE:1; + } BIT; + } EIER; + union { + unsigned char BYTE; + struct { + unsigned char BLIF:1; + unsigned char OLIF:1; + unsigned char ORIF:1; + unsigned char BORIF:1; + unsigned char BOEIF:1; + unsigned char EPIF:1; + unsigned char EWIF:1; + unsigned char BEIF:1; + } BIT; + } EIFR; + unsigned char RECR; + unsigned char TECR; + union { + unsigned char BYTE; + struct { + unsigned char EDPM:1; + unsigned char ADEF:1; + unsigned char BE0F:1; + unsigned char BE1F:1; + unsigned char CEF:1; + unsigned char AEF:1; + unsigned char FEF:1; + unsigned char SEF:1; + } BIT; + } ECSR; + unsigned char CSSR; + union { + unsigned char BYTE; + struct { + unsigned char SEST:1; + unsigned char :2; + unsigned char MBNST:5; + } BIT; + } MSSR; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char MBSM:2; + } BIT; + } MSMR; + unsigned short TSR; + unsigned short AFSR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TSTM:2; + unsigned char TSTE:1; + } BIT; + } TCR; +}; + +struct st_cmt { + union { + unsigned short WORD; + struct { + unsigned short :14; + unsigned short STR1:1; + unsigned short STR0:1; + } BIT; + } CMSTR0; + char wk0[14]; + union { + unsigned short WORD; + struct { + unsigned short :14; + unsigned short STR3:1; + unsigned short STR2:1; + } BIT; + } CMSTR1; +}; + +struct st_cmt0 { + union { + unsigned short WORD; + struct { + unsigned short :9; + unsigned short CMIE:1; + unsigned short :4; + unsigned short CKS:2; + } BIT; + } CMCR; + unsigned short CMCNT; + unsigned short CMCOR; +}; + +struct st_cmtw { + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short STR:1; + } BIT; + } CMWSTR; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short CLLR:3; + unsigned short :3; + unsigned short CMS:1; + unsigned short :1; + unsigned short OC1IE:1; + unsigned short OC0IE:1; + unsigned short IC1IE:1; + unsigned short IC0IE:1; + unsigned short CM2IE:1; + unsigned short :1; + unsigned short CKS:2; + } BIT; + } CMWCR; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short CM2E:1; + unsigned short :1; + unsigned short OC1E:1; + unsigned short OC0E:1; + unsigned short OC1:2; + unsigned short OC0:2; + unsigned short :2; + unsigned short IC1E:1; + unsigned short IC0E:1; + unsigned short IC1:2; + unsigned short IC0:2; + } BIT; + } CMWIOR; + char wk2[6]; + unsigned long CMWCNT; + unsigned long CMWCOR; + unsigned long CMWICR0; + unsigned long CMWICR1; + unsigned long CMWOCR0; + unsigned long CMWOCR1; +}; + +struct st_crc { + union { + unsigned char BYTE; + struct { + unsigned char DORCLR:1; + unsigned char :4; + unsigned char LMS:1; + unsigned char GPS:2; + } BIT; + } CRCCR; + unsigned char CRCDIR; + unsigned short CRCDOR; +}; + +struct st_da { +// union { +// unsigned short WORD; +// struct { +// unsigned short :4; +// unsigned short B11:1; +// unsigned short B10:1; +// unsigned short B9:1; +// unsigned short B8:1; +// unsigned short B7:1; +// unsigned short B6:1; +// unsigned short B5:1; +// unsigned short B4:1; +// unsigned short B3:1; +// unsigned short B2:1; +// unsigned short B1:1; +// unsigned short B0:1; +// } BIT; +// } DADR0; +// union { +// unsigned short WORD; +// struct { +// unsigned short :4; +// unsigned short B11:1; +// unsigned short B10:1; +// unsigned short B9:1; +// unsigned short B8:1; +// unsigned short B7:1; +// unsigned short B6:1; +// unsigned short B5:1; +// unsigned short B4:1; +// unsigned short B3:1; +// unsigned short B2:1; +// unsigned short B1:1; +// unsigned short B0:1; +// } BIT; +// } DADR1; + unsigned short DADR0; + unsigned short DADR1; + union { + unsigned char BYTE; + struct { + unsigned char DAOE1:1; + unsigned char DAOE0:1; + unsigned char DAE:1; + } BIT; + } DACR; + union { + unsigned char BYTE; + struct { + unsigned char DPSEL:1; + } BIT; + } DADPR; + union { + unsigned char BYTE; + struct { + unsigned char DAADST:1; + } BIT; + } DAADSCR; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char DAAMP1:1; + unsigned char DAAMP0:1; + } BIT; + } DAAMPCR; +}; + +struct st_dmac { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DMST:1; + } BIT; + } DMAST; + char wk0[3]; + union { + unsigned char BYTE; + struct { + unsigned char DMIS7:1; + unsigned char DMIS6:1; + unsigned char DMIS5:1; + unsigned char DMIS4:1; + } BIT; + } DMIST; +}; + +struct st_dmac0 { +// unsigned long DMSAR; +// unsigned long DMDAR; + void *DMSAR; + void *DMDAR; + unsigned long DMCRA; + unsigned short DMCRB; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short MD:2; + unsigned short DTS:2; + unsigned short :2; + unsigned short SZ:2; + unsigned short :6; + unsigned short DCTG:2; + } BIT; + } DMTMD; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char DTIE:1; + unsigned char ESIE:1; + unsigned char RPTIE:1; + unsigned char SARIE:1; + unsigned char DARIE:1; + } BIT; + } DMINT; + union { + unsigned short WORD; + struct { + unsigned short SM:2; + unsigned short :1; + unsigned short SARA:5; + unsigned short DM:2; + unsigned short :1; + unsigned short DARA:5; + } BIT; + } DMAMD; + char wk2[2]; + unsigned long DMOFR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTE:1; + } BIT; + } DMCNT; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char CLRS:1; + unsigned char :3; + unsigned char SWREQ:1; + } BIT; + } DMREQ; + union { + unsigned char BYTE; + struct { + unsigned char ACT:1; + unsigned char :2; + unsigned char DTIF:1; + unsigned char :3; + unsigned char ESIF:1; + } BIT; + } DMSTS; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DISEL:1; + } BIT; + } DMCSL; +}; + +struct st_dmac1 { +// unsigned long DMSAR; +// unsigned long DMDAR; + void *DMSAR; + void *DMDAR; + unsigned long DMCRA; + unsigned short DMCRB; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short MD:2; + unsigned short DTS:2; + unsigned short :2; + unsigned short SZ:2; + unsigned short :6; + unsigned short DCTG:2; + } BIT; + } DMTMD; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char DTIE:1; + unsigned char ESIE:1; + unsigned char RPTIE:1; + unsigned char SARIE:1; + unsigned char DARIE:1; + } BIT; + } DMINT; + union { + unsigned short WORD; + struct { + unsigned short SM:2; + unsigned short :1; + unsigned short SARA:5; + unsigned short DM:2; + unsigned short :1; + unsigned short DARA:5; + } BIT; + } DMAMD; + char wk2[6]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTE:1; + } BIT; + } DMCNT; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char CLRS:1; + unsigned char :3; + unsigned char SWREQ:1; + } BIT; + } DMREQ; + union { + unsigned char BYTE; + struct { + unsigned char ACT:1; + unsigned char :2; + unsigned char DTIF:1; + unsigned char :3; + unsigned char ESIF:1; + } BIT; + } DMSTS; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DISEL:1; + } BIT; + } DMCSL; +}; + +struct st_doc { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char DOPCFCL:1; + unsigned char DOPCF:1; + unsigned char DOPCIE:1; + unsigned char :1; + unsigned char DCSEL:1; + unsigned char OMS:2; + } BIT; + } DOCR; + char wk0[1]; + unsigned short DODIR; + unsigned short DODSR; +}; + +struct st_dtc { + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char RRS:1; + } BIT; + } DTCCR; + char wk0[3]; +// unsigned long DTCVBR; + void *DTCVBR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SHORT:1; + } BIT; + } DTCADMOD; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTCST:1; + } BIT; + } DTCST; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short ACT:1; + unsigned short :7; + unsigned short VECN:8; + } BIT; + } DTCSTS; +}; + +struct st_eccram { + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char RAMMOD:2; + } BIT; + } ECCRAMMODE; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char RAMERR:1; + } BIT; + } ECCRAMSTS; + char wk0[2]; + union { + unsigned char BYTE; + struct { + unsigned char KW:7; + unsigned char RAMPRCR:1; + } BIT; + } ECCRAMPRCR; + char wk1[3]; + union { + unsigned long LONG; + struct { + unsigned long :13; + unsigned long READ:16; + } BIT; + } ECCRAMECAD; + char wk2[4]; + union { + unsigned char BYTE; + struct { + unsigned char KW2:7; + unsigned char RAMPRCR2:1; + } BIT; + } ECCRAMPRCR2; + char wk3[3]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TSTBYP:1; + } BIT; + } ECCRAMETST; +}; + +struct st_edmac { + union { + unsigned long LONG; + struct { + unsigned long :25; + unsigned long DE:1; + unsigned long DL:2; + unsigned long :3; + unsigned long SWR:1; + } BIT; + } EDMR; + char wk0[4]; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long TR:1; + } BIT; + } EDTRR; + char wk1[4]; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long RR:1; + } BIT; + } EDRRR; + char wk2[4]; +// unsigned long TDLAR; + void *TDLAR; + char wk3[4]; +// unsigned long RDLAR; + void *RDLAR; + char wk4[4]; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long TWB:1; + unsigned long :3; + unsigned long TABT:1; + unsigned long RABT:1; + unsigned long RFCOF:1; + unsigned long ADE:1; + unsigned long ECI:1; + unsigned long TC:1; + unsigned long TDE:1; + unsigned long TFUF:1; + unsigned long FR:1; + unsigned long RDE:1; + unsigned long RFOF:1; + unsigned long :4; + unsigned long CND:1; + unsigned long DLC:1; + unsigned long CD:1; + unsigned long TRO:1; + unsigned long RMAF:1; + unsigned long :2; + unsigned long RRF:1; + unsigned long RTLF:1; + unsigned long RTSF:1; + unsigned long PRE:1; + unsigned long CERF:1; + } BIT; + } EESR; + char wk5[4]; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long TWBIP:1; + unsigned long :3; + unsigned long TABTIP:1; + unsigned long RABTIP:1; + unsigned long RFCOFIP:1; + unsigned long ADEIP:1; + unsigned long ECIIP:1; + unsigned long TCIP:1; + unsigned long TDEIP:1; + unsigned long TFUFIP:1; + unsigned long FRIP:1; + unsigned long RDEIP:1; + unsigned long RFOFIP:1; + unsigned long :4; + unsigned long CNDIP:1; + unsigned long DLCIP:1; + unsigned long CDIP:1; + unsigned long TROIP:1; + unsigned long RMAFIP:1; + unsigned long :2; + unsigned long RRFIP:1; + unsigned long RTLFIP:1; + unsigned long RTSFIP:1; + unsigned long PREIP:1; + unsigned long CERFIP:1; + } BIT; + } EESIPR; + char wk6[4]; + union { + unsigned long LONG; + struct { + unsigned long :20; + unsigned long CNDCE:1; + unsigned long DLCCE:1; + unsigned long CDCE:1; + unsigned long TROCE:1; + unsigned long RMAFCE:1; + unsigned long :2; + unsigned long RRFCE:1; + unsigned long RTLFCE:1; + unsigned long RTSFCE:1; + unsigned long PRECE:1; + unsigned long CERFCE:1; + } BIT; + } TRSCER; + char wk7[4]; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long MFC:16; + } BIT; + } RMFCR; + char wk8[4]; + union { + unsigned long LONG; + struct { + unsigned long :21; + unsigned long TFT:11; + } BIT; + } TFTR; + char wk9[4]; + union { + unsigned long LONG; + struct { + unsigned long :19; + unsigned long TFD:5; + unsigned long :3; + unsigned long RFD:5; + } BIT; + } FDR; + char wk10[4]; + union { + unsigned long LONG; + struct { + unsigned long :30; + unsigned long RNC:1; + unsigned long RNR:1; + } BIT; + } RMCR; + char wk11[8]; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long UNDER:16; + } BIT; + } TFUCR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long OVER:16; + } BIT; + } RFOCR; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long ELB:1; + } BIT; + } IOSR; + union { + unsigned long LONG; + struct { + unsigned long :13; + unsigned long RFFO:3; + unsigned long :13; + unsigned long RFDO:3; + } BIT; + } FCFTR; + char wk12[4]; + union { + unsigned long LONG; + struct { + unsigned long :14; + unsigned long PADS:2; + unsigned long :10; + unsigned long PADR:6; + } BIT; + } RPADIR; + union { + unsigned long LONG; + struct { + unsigned long :27; + unsigned long TIM:1; + unsigned long :3; + unsigned long TIS:1; + } BIT; + } TRIMD; + char wk13[72]; +// unsigned long RBWAR; + void *RBWAR; +// unsigned long RDFAR; + void *RDFAR; + char wk14[4]; +// unsigned long TBRAR; + void *TBRAR; +// unsigned long TDFAR; + void *TDFAR; +}; + +struct st_edmacp { + union { + unsigned long LONG; + struct { + unsigned long :25; + unsigned long DE:1; + unsigned long DL:2; + unsigned long :3; + unsigned long SWR:1; + } BIT; + } EDMR; + char wk0[4]; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long TR:1; + } BIT; + } EDTRR; + char wk1[4]; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long RR:1; + } BIT; + } EDRRR; + char wk2[4]; + unsigned long TDLAR; + char wk3[4]; + unsigned long RDLAR; + char wk4[4]; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long TWB:1; + unsigned long :3; + unsigned long TABT:1; + unsigned long RABT:1; + unsigned long RFCOF:1; + unsigned long ADE:1; + unsigned long ECI:1; + unsigned long TC:1; + unsigned long TDE:1; + unsigned long TFUF:1; + unsigned long FR:1; + unsigned long RDE:1; + unsigned long RFOF:1; + } BIT; + } EESR; + char wk5[4]; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long TWBIP:1; + unsigned long :3; + unsigned long TABTIP:1; + unsigned long RABTIP:1; + unsigned long RFCOFIP:1; + unsigned long ADEIP:1; + unsigned long ECIIP:1; + unsigned long TCIP:1; + unsigned long TDEIP:1; + unsigned long TFUFIP:1; + unsigned long FRIP:1; + unsigned long RDEIP:1; + unsigned long RFOFIP:1; + } BIT; + } EESIPR; + char wk6[4]; + union { + unsigned long LONG; + struct { + unsigned long :20; + unsigned long CNDCE:1; + unsigned long DLCCE:1; + unsigned long CDCE:1; + unsigned long TROCE:1; + unsigned long RMAFCE:1; + unsigned long :2; + unsigned long RRFCE:1; + unsigned long RTLFCE:1; + unsigned long RTSFCE:1; + unsigned long PRECE:1; + unsigned long CERFCE:1; + } BIT; + } TRSCER; + char wk7[4]; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long MFC:16; + } BIT; + } RMFCR; + char wk8[4]; + union { + unsigned long LONG; + struct { + unsigned long :21; + unsigned long TFT:11; + } BIT; + } TFTR; + char wk9[4]; + union { + unsigned long LONG; + struct { + unsigned long :19; + unsigned long TFD:5; + unsigned long :3; + unsigned long RFD:5; + } BIT; + } FDR; + char wk10[4]; + union { + unsigned long LONG; + struct { + unsigned long :30; + unsigned long RNC:1; + unsigned long RNR:1; + } BIT; + } RMCR; + char wk11[8]; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long UNDER:16; + } BIT; + } TFUCR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long OVER:16; + } BIT; + } RFOCR; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long ELB:1; + } BIT; + } IOSR; + union { + unsigned long LONG; + struct { + unsigned long :13; + unsigned long RFFO:3; + unsigned long :13; + unsigned long RFDO:3; + } BIT; + } FCFTR; + char wk12[4]; + union { + unsigned long LONG; + struct { + unsigned long :14; + unsigned long PADS:2; + unsigned long :10; + unsigned long PADR:6; + } BIT; + } RPADIR; + union { + unsigned long LONG; + struct { + unsigned long :27; + unsigned long TIM:1; + unsigned long :3; + unsigned long TIS:1; + } BIT; + } TRIMD; + char wk13[72]; + unsigned long RBWAR; + unsigned long RDFAR; + char wk14[4]; + unsigned long TBRAR; + unsigned long TDFAR; +}; + +struct st_elc { + union { + unsigned char BYTE; + struct { + unsigned char ELCON:1; + } BIT; + } ELCR; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR0; + char wk0[2]; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR3; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR4; + char wk1[2]; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR7; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR10; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR11; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR12; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR13; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR15; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR16; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR18; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR19; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR20; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR21; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR22; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR23; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR24; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR25; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR26; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR27; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR28; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char MTU3MD:2; + unsigned char :4; + unsigned char MTU0MD:2; + } BIT; + } ELOPA; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char MTU4MD:2; + } BIT; + } ELOPB; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char CMT1MD:2; + } BIT; + } ELOPC; + union { + unsigned char BYTE; + struct { + unsigned char TMR3MD:2; + unsigned char TMR2MD:2; + unsigned char TMR1MD:2; + unsigned char TMR0MD:2; + } BIT; + } ELOPD; + union { + unsigned char BYTE; + struct { + unsigned char PGR7:1; + unsigned char PGR6:1; + unsigned char PGR5:1; + unsigned char PGR4:1; + unsigned char PGR3:1; + unsigned char PGR2:1; + unsigned char PGR1:1; + unsigned char PGR0:1; + } BIT; + } PGR1; + union { + unsigned char BYTE; + struct { + unsigned char PGR7:1; + unsigned char PGR6:1; + unsigned char PGR5:1; + unsigned char PGR4:1; + unsigned char PGR3:1; + unsigned char PGR2:1; + unsigned char PGR1:1; + unsigned char PGR0:1; + } BIT; + } PGR2; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PGCO:3; + unsigned char :1; + unsigned char PGCOVE:1; + unsigned char PGCI:2; + } BIT; + } PGC1; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PGCO:3; + unsigned char :1; + unsigned char PGCOVE:1; + unsigned char PGCI:2; + } BIT; + } PGC2; + union { + unsigned char BYTE; + struct { + unsigned char PDBF7:1; + unsigned char PDBF6:1; + unsigned char PDBF5:1; + unsigned char PDBF4:1; + unsigned char PDBF3:1; + unsigned char PDBF2:1; + unsigned char PDBF1:1; + unsigned char PDBF0:1; + } BIT; + } PDBF1; + union { + unsigned char BYTE; + struct { + unsigned char PDBF7:1; + unsigned char PDBF6:1; + unsigned char PDBF5:1; + unsigned char PDBF4:1; + unsigned char PDBF3:1; + unsigned char PDBF2:1; + unsigned char PDBF1:1; + unsigned char PDBF0:1; + } BIT; + } PDBF2; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSM:2; + unsigned char PSP:2; + unsigned char PSB:3; + } BIT; + } PEL0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSM:2; + unsigned char PSP:2; + unsigned char PSB:3; + } BIT; + } PEL1; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSM:2; + unsigned char PSP:2; + unsigned char PSB:3; + } BIT; + } PEL2; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSM:2; + unsigned char PSP:2; + unsigned char PSB:3; + } BIT; + } PEL3; + union { + unsigned char BYTE; + struct { + unsigned char WI:1; + unsigned char WE:1; + unsigned char :5; + unsigned char SEG:1; + } BIT; + } ELSEGR; + char wk6[3]; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR33; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR35; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR36; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR37; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR38; + char wk8[2]; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR41; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR42; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR43; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR44; + union { + unsigned char BYTE; + struct { + unsigned char ELS:8; + } BIT; + } ELSR45; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char TPU3MD:2; + unsigned char TPU2MD:2; + unsigned char TPU1MD:2; + unsigned char TPU0MD:2; + } BIT; + } ELOPF; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char CMTW0MD:2; + } BIT; + } ELOPH; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char GPT1MD:3; + unsigned char :1; + unsigned char GPT0MD:3; + } BIT; + } ELOPI; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char GPT3MD:3; + unsigned char :1; + unsigned char GPT2MD:3; + } BIT; + } ELOPJ; +}; + +struct st_eptpc { + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long RESET:1; + } BIT; + } PTRSTR; + union { + unsigned long LONG; + struct { + unsigned long :21; + unsigned long SCLKSEL:3; + unsigned long :5; + unsigned long SCLKDIV:3; + } BIT; + } STCSELR; + char wk0[15096]; + union { + unsigned long LONG; + struct { + unsigned long :10; + unsigned long CYC5:1; + unsigned long CYC4:1; + unsigned long CYC3:1; + unsigned long CYC2:1; + unsigned long CYC1:1; + unsigned long CYC0:1; + unsigned long :12; + unsigned long PRC:1; + unsigned long SY1:1; + unsigned long SY0:1; + unsigned long ST:1; + } BIT; + } MIESR; + union { + unsigned long LONG; + struct { + unsigned long :10; + unsigned long CYC5:1; + unsigned long CYC4:1; + unsigned long CYC3:1; + unsigned long CYC2:1; + unsigned long CYC1:1; + unsigned long CYC0:1; + unsigned long :12; + unsigned long PR:1; + unsigned long SY1:1; + unsigned long SY0:1; + unsigned long ST:1; + } BIT; + } MIEIPR; + char wk1[4]; + union { + unsigned long LONG; + struct { + unsigned long VER:16; + unsigned long REV:16; + } BIT; + } PTVRR; + union { + unsigned long LONG; + struct { + unsigned long :7; + unsigned long PLSN:1; + unsigned long :7; + unsigned long PLSP:1; + unsigned long :2; + unsigned long CYCN5:1; + unsigned long CYCN4:1; + unsigned long CYCN3:1; + unsigned long CYCN2:1; + unsigned long CYCN1:1; + unsigned long CYCN0:1; + unsigned long :2; + unsigned long CYCP5:1; + unsigned long CYCP4:1; + unsigned long CYCP3:1; + unsigned long CYCP2:1; + unsigned long CYCP1:1; + unsigned long CYCP0:1; + } BIT; + } ELIPPR; + union { + unsigned long LONG; + struct { + unsigned long :7; + unsigned long PLSN:1; + unsigned long :7; + unsigned long PLSP:1; + unsigned long :2; + unsigned long CYCN5:1; + unsigned long CYCN4:1; + unsigned long CYCN3:1; + unsigned long CYCN2:1; + unsigned long CYCN1:1; + unsigned long CYCN0:1; + unsigned long :2; + unsigned long CYCP5:1; + unsigned long CYCP4:1; + unsigned long CYCP3:1; + unsigned long CYCP2:1; + unsigned long CYCP1:1; + unsigned long CYCP0:1; + } BIT; + } ELIPACR; + char wk2[40]; + union { + unsigned long LONG; + struct { + unsigned long :27; + unsigned long W10D:1; + unsigned long SYNTOUT:1; + unsigned long :1; + unsigned long SYNCOUT:1; + unsigned long SYNC:1; + } BIT; + } STSR; + union { + unsigned long LONG; + struct { + unsigned long :27; + unsigned long W10D:1; + unsigned long SYNTOUT:1; + unsigned long :1; + unsigned long SYNCOUT:1; + unsigned long SYNC:1; + } BIT; + } STIPR; + char wk3[4]; + union { + unsigned long LONG; + struct { + unsigned long VER:16; + unsigned long REV:16; + } BIT; + } STVRR; + union { + unsigned long LONG; + struct { + unsigned long :30; + unsigned long STCF:2; + } BIT; + } STCFR; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long ALEN1:1; + unsigned long ALEN0:1; + unsigned long :4; + unsigned long SYTH:4; + unsigned long DVTH:4; + unsigned long W10S:1; + unsigned long :1; + unsigned long CMOD:1; + unsigned long :5; + unsigned long WINT:8; + } BIT; + } STMR; + unsigned long SYNTOR; + char wk4[4]; + union { + unsigned long LONG; + struct { + unsigned long :26; + unsigned long IPTSEL5:1; + unsigned long IPTSEL4:1; + unsigned long IPTSEL3:1; + unsigned long IPTSEL2:1; + unsigned long IPTSEL1:1; + unsigned long IPTSEL0:1; + } BIT; + } IPTSELR; + union { + unsigned long LONG; + struct { + unsigned long :26; + unsigned long MINTEN5:1; + unsigned long MINTEN4:1; + unsigned long MINTEN3:1; + unsigned long MINTEN2:1; + unsigned long MINTEN1:1; + unsigned long MINTEN0:1; + } BIT; + } MITSELR; + union { + unsigned long LONG; + struct { + unsigned long :26; + unsigned long ELTDIS5:1; + unsigned long ELTDIS4:1; + unsigned long ELTDIS3:1; + unsigned long ELTDIS2:1; + unsigned long ELTDIS1:1; + unsigned long ELTDIS0:1; + } BIT; + } ELTSELR; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long SYSEL:1; + } BIT; + } STCHSELR; + char wk5[16]; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long STR:1; + } BIT; + } SYNSTARTR; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long LOAD:1; + } BIT; + } LCIVLDR; + char wk6[8]; + unsigned long SYNTDARU; + unsigned long SYNTDARL; + unsigned long SYNTDBRU; + unsigned long SYNTDBRL; + char wk7[16]; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long VALU:16; + } BIT; + } LCIVRU; + unsigned long LCIVRM; + unsigned long LCIVRL; + char wk8[104]; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long GW10:1; + } BIT; + } GETW10R; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long LMTU:31; + } BIT; + } PLIMITRU; + unsigned long PLIMITRM; + unsigned long PLIMITRL; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long LMTU:31; + } BIT; + } MLIMITRU; + unsigned long MLIMITRM; + unsigned long MLIMITRL; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long INFO:1; + } BIT; + } GETINFOR; + char wk9[44]; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long CNTU:16; + } BIT; + } LCCVRU; + unsigned long LCCVRM; + unsigned long LCCVRL; + char wk10[148]; + unsigned long PW10VRU; + unsigned long PW10VRM; + unsigned long PW10VRL; + char wk11[180]; + unsigned long MW10RU; + unsigned long MW10RM; + unsigned long MW10RL; + char wk12[36]; + unsigned long TMSTTRU0; + unsigned long TMSTTRL0; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long CYC:30; + } BIT; + } TMCYCR0; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long WTH:29; + } BIT; + } TMPLSR0; + unsigned long TMSTTRU1; + unsigned long TMSTTRL1; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long CYC:30; + } BIT; + } TMCYCR1; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long WTH:29; + } BIT; + } TMPLSR1; + unsigned long TMSTTRU2; + unsigned long TMSTTRL2; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long CYC:30; + } BIT; + } TMCYCR2; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long WTH:29; + } BIT; + } TMPLSR2; + unsigned long TMSTTRU3; + unsigned long TMSTTRL3; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long CYC:30; + } BIT; + } TMCYCR3; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long WTH:29; + } BIT; + } TMPLSR3; + unsigned long TMSTTRU4; + unsigned long TMSTTRL4; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long CYC:30; + } BIT; + } TMCYCR4; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long WTH:29; + } BIT; + } TMPLSR4; + unsigned long TMSTTRU5; + unsigned long TMSTTRL5; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long CYC:30; + } BIT; + } TMCYCR5; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long WTH:29; + } BIT; + } TMPLSR5; + char wk13[28]; + union { + unsigned long LONG; + struct { + unsigned long :26; + unsigned long EN5:1; + unsigned long EN4:1; + unsigned long EN3:1; + unsigned long EN2:1; + unsigned long EN1:1; + unsigned long EN0:1; + } BIT; + } TMSTARTR; + char wk14[128]; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long URE1:1; + unsigned long URE0:1; + unsigned long PRTE13:1; + unsigned long PRTE12:1; + unsigned long PRTE11:1; + unsigned long PRTE10:1; + unsigned long PRTE03:1; + unsigned long PRTE02:1; + unsigned long PRTE01:1; + unsigned long PRTE00:1; + unsigned long PRRE3:1; + unsigned long PRRE2:1; + unsigned long PRRE1:1; + unsigned long PRRE0:1; + unsigned long :7; + unsigned long MACE:1; + unsigned long :4; + unsigned long OVRE3:1; + unsigned long OVRE2:1; + unsigned long OVRE1:1; + unsigned long OVRE0:1; + } BIT; + } PRSR; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long URE1:1; + unsigned long URE0:1; + unsigned long PRTE13:1; + unsigned long PRTE12:1; + unsigned long PRTE11:1; + unsigned long PRTE10:1; + unsigned long PRTE03:1; + unsigned long PRTE02:1; + unsigned long PRTE01:1; + unsigned long PRTE00:1; + unsigned long PRRE3:1; + unsigned long PRRE2:1; + unsigned long PRRE1:1; + unsigned long PRRE0:1; + unsigned long :7; + unsigned long MACE:1; + unsigned long :4; + unsigned long OVRE3:1; + unsigned long OVRE2:1; + unsigned long OVRE1:1; + unsigned long OVRE0:1; + } BIT; + } PRIPR; + char wk15[4]; + union { + unsigned long LONG; + struct { + unsigned long VER:16; + unsigned long REV:16; + } BIT; + } PRVRR; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACU:24; + } BIT; + } PRMACRU0; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACL:24; + } BIT; + } PRMACRL0; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACU:24; + } BIT; + } PRMACRU1; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACL:24; + } BIT; + } PRMACRL1; + union { + unsigned long LONG; + struct { + unsigned long :30; + unsigned long TDIS:2; + } BIT; + } TRNDISR; + char wk16[12]; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long MOD:1; + } BIT; + } TRNMR; + union { + unsigned long LONG; + struct { + unsigned long :21; + unsigned long THVAL:11; + } BIT; + } TRNCTTDR; +}; + +struct st_eptpcs { + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long PRE3:1; + unsigned long PRE2:1; + unsigned long PRE1:1; + unsigned long PRE0:1; + unsigned long :2; + unsigned long GENDN:1; + unsigned long RESDN:1; + unsigned long :1; + unsigned long INFABT:1; + unsigned long SRTABT:1; + unsigned long RECLP:1; + unsigned long :2; + unsigned long PDRPMR:1; + unsigned long :2; + unsigned long DRQOVR:1; + unsigned long INTDEV:1; + unsigned long DRPTO:1; + unsigned long :1; + unsigned long MPDUD:1; + unsigned long INTCHG:1; + unsigned long OFMUD:1; + } BIT; + } SYSR; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long PRE3:1; + unsigned long PRE2:1; + unsigned long PRE1:1; + unsigned long PRE0:1; + unsigned long :2; + unsigned long GENDN:1; + unsigned long RESDN:1; + unsigned long :1; + unsigned long INFABT:1; + unsigned long SRTABT:1; + unsigned long RECLP:1; + unsigned long :2; + unsigned long PDRPMR:1; + unsigned long :2; + unsigned long DRQOVR:1; + unsigned long INTDEV:1; + unsigned long DRPTO:1; + unsigned long :1; + unsigned long MPDUD:1; + unsigned long INTCHG:1; + unsigned long OFMUD:1; + } BIT; + } SYIPR; + char wk0[4]; + union { + unsigned long LONG; + struct { + unsigned long VER:16; + unsigned long REV:16; + } BIT; + } SYVRR; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACU:24; + } BIT; + } SYMACRU; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACL:24; + } BIT; + } SYMACRL; + union { + unsigned long LONG; + struct { + unsigned long :24; + unsigned long LLC:8; + } BIT; + } SYLLCCTLR; + unsigned long SYIPR2; + char wk1[32]; + union { + unsigned long LONG; + struct { + unsigned long :24; + unsigned long TRSP:4; + unsigned long VER:4; + } BIT; + } SYSPVRR; + union { + unsigned long LONG; + struct { + unsigned long :24; + unsigned long DNUM:8; + } BIT; + } SYDOMR; + char wk2[8]; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long FLG15:1; + unsigned long FLG14:1; + unsigned long FLG13:1; + unsigned long FLG12:1; + unsigned long FLG11:1; + unsigned long FLG10:1; + unsigned long FLG9:1; + unsigned long FLG8:1; + unsigned long FLG7:1; + unsigned long FLG6:1; + unsigned long FLG5:1; + unsigned long FLG4:1; + unsigned long FLG3:1; + unsigned long FLG2:1; + unsigned long FLG1:1; + unsigned long FLG0:1; + } BIT; + } ANFR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long FLG15:1; + unsigned long FLG14:1; + unsigned long FLG13:1; + unsigned long FLG12:1; + unsigned long FLG11:1; + unsigned long FLG10:1; + unsigned long FLG9:1; + unsigned long FLG8:1; + unsigned long FLG7:1; + unsigned long FLG6:1; + unsigned long FLG5:1; + unsigned long FLG4:1; + unsigned long FLG3:1; + unsigned long FLG2:1; + unsigned long FLG1:1; + unsigned long FLG0:1; + } BIT; + } SYNFR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long FLG15:1; + unsigned long FLG14:1; + unsigned long FLG13:1; + unsigned long FLG12:1; + unsigned long FLG11:1; + unsigned long FLG10:1; + unsigned long FLG9:1; + unsigned long FLG8:1; + unsigned long FLG7:1; + unsigned long FLG6:1; + unsigned long FLG5:1; + unsigned long FLG4:1; + unsigned long FLG3:1; + unsigned long FLG2:1; + unsigned long FLG1:1; + unsigned long FLG0:1; + } BIT; + } DYRQFR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long FLG15:1; + unsigned long FLG14:1; + unsigned long FLG13:1; + unsigned long FLG12:1; + unsigned long FLG11:1; + unsigned long FLG10:1; + unsigned long FLG9:1; + unsigned long FLG8:1; + unsigned long FLG7:1; + unsigned long FLG6:1; + unsigned long FLG5:1; + unsigned long FLG4:1; + unsigned long FLG3:1; + unsigned long FLG2:1; + unsigned long FLG1:1; + unsigned long FLG0:1; + } BIT; + } DYRPFR; + unsigned long SYCIDRU; + unsigned long SYCIDRL; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long PNUM:16; + } BIT; + } SYPNUMR; + char wk3[20]; + union { + unsigned long LONG; + struct { + unsigned long :29; + unsigned long ANUP:1; + unsigned long STUP:1; + unsigned long BMUP:1; + } BIT; + } SYRVLDR; + char wk4[12]; + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long PDFUP2:1; + unsigned long PDFUP1:1; + unsigned long PDFUP0:1; + unsigned long :1; + unsigned long PDRP2:1; + unsigned long PDRP1:1; + unsigned long PDRP0:1; + unsigned long :1; + unsigned long PDRQ2:1; + unsigned long PDRQ1:1; + unsigned long PDRQ0:1; + unsigned long :1; + unsigned long DRP2:1; + unsigned long DRP1:1; + unsigned long DRP0:1; + unsigned long :1; + unsigned long DRQ2:1; + unsigned long DRQ1:1; + unsigned long DRQ0:1; + unsigned long :1; + unsigned long FUP2:1; + unsigned long FUP1:1; + unsigned long FUP0:1; + unsigned long :1; + unsigned long SYNC2:1; + unsigned long SYNC1:1; + unsigned long SYNC0:1; + unsigned long :2; + unsigned long ANCE1:1; + unsigned long ANCE0:1; + } BIT; + } SYRFL1R; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long ILL1:1; + unsigned long ILL0:1; + unsigned long :22; + unsigned long SIG1:1; + unsigned long SIG0:1; + unsigned long :2; + unsigned long MAN1:1; + unsigned long MAN0:1; + } BIT; + } SYRFL2R; + union { + unsigned long LONG; + struct { + unsigned long :19; + unsigned long PDRQ:1; + unsigned long :3; + unsigned long DRQ:1; + unsigned long :3; + unsigned long SYNC:1; + unsigned long :3; + unsigned long ANCE:1; + } BIT; + } SYTRENR; + char wk5[4]; + unsigned long MTCIDU; + unsigned long MTCIDL; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long PNUM:16; + } BIT; + } MTPID; + char wk6[20]; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long DRQ:8; + unsigned long SYNC:8; + unsigned long ANCE:8; + } BIT; + } SYTLIR; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long DRP:8; + unsigned long SYNC:8; + unsigned long ANCE:8; + } BIT; + } SYRLIR; + unsigned long OFMRU; + unsigned long OFMRL; + unsigned long MPDRU; + unsigned long MPDRL; + char wk7[8]; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long GMPR1:8; + unsigned long :8; + unsigned long GMPR2:8; + } BIT; + } GMPR; + unsigned long GMCQR; + unsigned long GMIDRU; + unsigned long GMIDRL; + union { + unsigned long LONG; + struct { + unsigned long CUTO:16; + unsigned long :8; + unsigned long TSRC:8; + } BIT; + } CUOTSR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long SRMV:16; + } BIT; + } SRR; + char wk8[8]; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACU:24; + } BIT; + } PPMACRU; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACL:24; + } BIT; + } PPMACRL; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACU:24; + } BIT; + } PDMACRU; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACL:24; + } BIT; + } PDMACRL; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long TYPE:16; + } BIT; + } PETYPER; + char wk9[12]; + unsigned long PPIPR; + unsigned long PDIPR; + union { + unsigned long LONG; + struct { + unsigned long :24; + unsigned long EVTO:8; + } BIT; + } PETOSR; + union { + unsigned long LONG; + struct { + unsigned long :24; + unsigned long GETO:8; + } BIT; + } PGTOSR; + union { + unsigned long LONG; + struct { + unsigned long :24; + unsigned long PRTL:8; + } BIT; + } PPTTLR; + union { + unsigned long LONG; + struct { + unsigned long :24; + unsigned long PDTL:8; + } BIT; + } PDTTLR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long EVUPT:16; + } BIT; + } PEUDPR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long GEUPT:16; + } BIT; + } PGUDPR; + union { + unsigned long LONG; + struct { + unsigned long :29; + unsigned long ENB:1; + unsigned long PRT:1; + unsigned long SEL:1; + } BIT; + } FFLTR; + char wk10[28]; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACU:24; + } BIT; + } FMAC0RU; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACL:24; + } BIT; + } FMAC0RL; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACU:24; + } BIT; + } FMAC1RU; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long MACL:24; + } BIT; + } FMAC1RL; + char wk11[80]; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long ASYMU:16; + } BIT; + } DASYMRU; + unsigned long DASYMRL; + union { + unsigned long LONG; + struct { + unsigned long INGP:16; + unsigned long EGP:16; + } BIT; + } TSLATR; + union { + unsigned long LONG; + struct { + unsigned long :7; + unsigned long TRAN:1; + unsigned long :3; + unsigned long TCMOD:1; + unsigned long :3; + unsigned long FILDIS:1; + unsigned long :3; + unsigned long SBDIS:1; + unsigned long :4; + unsigned long TCYC:8; + } BIT; + } SYCONFR; + union { + unsigned long LONG; + struct { + unsigned long :30; + unsigned long FORM1:1; + unsigned long FORM0:1; + } BIT; + } SYFORMR; + unsigned long RSTOUTR; +}; + +struct st_etherc { + union { + unsigned long LONG; + struct { + unsigned long :11; + unsigned long TPC:1; + unsigned long ZPF:1; + unsigned long PFR:1; + unsigned long RXF:1; + unsigned long TXF:1; + unsigned long :3; + unsigned long PRCEF:1; + unsigned long :2; + unsigned long MPDE:1; + unsigned long :2; + unsigned long RE:1; + unsigned long TE:1; + unsigned long :1; + unsigned long ILB:1; + unsigned long RTM:1; + unsigned long DM:1; + unsigned long PRM:1; + } BIT; + } ECMR; + char wk0[4]; + union { + unsigned long LONG; + struct { + unsigned long :20; + unsigned long RFL:12; + } BIT; + } RFLR; + char wk1[4]; + union { + unsigned long LONG; + struct { + unsigned long :26; + unsigned long BFR:1; + unsigned long PSRTO:1; + unsigned long :1; + unsigned long LCHNG:1; + unsigned long MPD:1; + unsigned long ICD:1; + } BIT; + } ECSR; + char wk2[4]; + union { + unsigned long LONG; + struct { + unsigned long :26; + unsigned long BFSIPR:1; + unsigned long PSRTOIP:1; + unsigned long :1; + unsigned long LCHNGIP:1; + unsigned long MPDIP:1; + unsigned long ICDIP:1; + } BIT; + } ECSIPR; + char wk3[4]; + union { + unsigned long LONG; + struct { + unsigned long :28; + unsigned long MDI:1; + unsigned long MDO:1; + unsigned long MMD:1; + unsigned long MDC:1; + } BIT; + } PIR; + char wk4[4]; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long LMON:1; + } BIT; + } PSR; + char wk5[20]; + union { + unsigned long LONG; + struct { + unsigned long :12; + unsigned long RMD:20; + } BIT; + } RDMLR; + char wk6[12]; + union { + unsigned long LONG; + struct { + unsigned long :27; + unsigned long IPG:5; + } BIT; + } IPGR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long AP:16; + } BIT; + } APR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long MP:16; + } BIT; + } MPR; + char wk7[4]; + union { + unsigned long LONG; + struct { + unsigned long :24; + unsigned long RPAUSE:8; + } BIT; + } RFCF; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long TPAUSE:16; + } BIT; + } TPAUSER; + union { + unsigned long LONG; + struct { + unsigned long :24; + unsigned long TXP:8; + } BIT; + } TPAUSECR; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long BCF:16; + } BIT; + } BCFRR; + char wk8[80]; + unsigned long MAHR; + char wk9[4]; + union { + unsigned long LONG; + struct { + unsigned long :16; + unsigned long MA:16; + } BIT; + } MALR; + char wk10[4]; + unsigned long TROCR; + unsigned long CDCR; + unsigned long LCCR; + unsigned long CNDCR; + char wk11[4]; + unsigned long CEFCR; + unsigned long FRECR; + unsigned long TSFRCR; + unsigned long TLFRCR; + unsigned long RFCR; + unsigned long MAFCR; +}; + +struct st_exdmac { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DMST:1; + } BIT; + } EDMAST; + char wk0[479]; + unsigned long CLSBR0; + unsigned long CLSBR1; + unsigned long CLSBR2; + unsigned long CLSBR3; + unsigned long CLSBR4; + unsigned long CLSBR5; + unsigned long CLSBR6; + unsigned long CLSBR7; +}; + +struct st_exdmac0 { +// unsigned long EDMSAR; +// unsigned long EDMDAR; + void *EDMSAR; + void *EDMDAR; + unsigned long EDMCRA; + unsigned short EDMCRB; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short MD:2; + unsigned short DTS:2; + unsigned short :2; + unsigned short SZ:2; + unsigned short :6; + unsigned short DCTG:2; + } BIT; + } EDMTMD; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char DACKS:1; + unsigned char DACKE:1; + unsigned char DACKW:1; + unsigned char DACKSEL:1; + } BIT; + } EDMOMD; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char DTIE:1; + unsigned char ESIE:1; + unsigned char RPTIE:1; + unsigned char SARIE:1; + unsigned char DARIE:1; + } BIT; + } EDMINT; + union { + unsigned long LONG; + struct { + unsigned long :14; + unsigned long AMS:1; + unsigned long DIR:1; + unsigned long SM:2; + unsigned long :1; + unsigned long SARA:5; + unsigned long DM:2; + unsigned long :1; + unsigned long DARA:5; + } BIT; + } EDMAMD; + unsigned long EDMOFR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTE:1; + } BIT; + } EDMCNT; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char CLRS:1; + unsigned char :3; + unsigned char SWREQ:1; + } BIT; + } EDMREQ; + union { + unsigned char BYTE; + struct { + unsigned char ACT:1; + unsigned char :2; + unsigned char DTIF:1; + unsigned char :3; + unsigned char ESIF:1; + } BIT; + } EDMSTS; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char DREQS:2; + } BIT; + } EDMRMD; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char EREQ:1; + } BIT; + } EDMERF; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char PREQ:1; + } BIT; + } EDMPRF; +}; + +struct st_exdmac1 { +// unsigned long EDMSAR; +// unsigned long EDMDAR; + void *EDMSAR; + void *EDMDAR; + unsigned long EDMCRA; + unsigned short EDMCRB; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short MD:2; + unsigned short DTS:2; + unsigned short :2; + unsigned short SZ:2; + unsigned short :6; + unsigned short DCTG:2; + } BIT; + } EDMTMD; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char DACKS:1; + unsigned char DACKE:1; + unsigned char DACKW:1; + unsigned char DACKSEL:1; + } BIT; + } EDMOMD; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char DTIE:1; + unsigned char ESIE:1; + unsigned char RPTIE:1; + unsigned char SARIE:1; + unsigned char DARIE:1; + } BIT; + } EDMINT; + union { + unsigned long LONG; + struct { + unsigned long :14; + unsigned long AMS:1; + unsigned long DIR:1; + unsigned long SM:2; + unsigned long :1; + unsigned long SARA:5; + unsigned long DM:2; + unsigned long :1; + unsigned long DARA:5; + } BIT; + } EDMAMD; + char wk1[4]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTE:1; + } BIT; + } EDMCNT; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char CLRS:1; + unsigned char :3; + unsigned char SWREQ:1; + } BIT; + } EDMREQ; + union { + unsigned char BYTE; + struct { + unsigned char ACT:1; + unsigned char :2; + unsigned char DTIF:1; + unsigned char :3; + unsigned char ESIF:1; + } BIT; + } EDMSTS; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char DREQS:2; + } BIT; + } EDMRMD; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char EREQ:1; + } BIT; + } EDMERF; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char PREQ:1; + } BIT; + } EDMPRF; +}; + +struct st_gpt { + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :8; + unsigned char :4; + unsigned char CST3:1; + unsigned char CST2:1; + unsigned char CST1:1; + unsigned char CST0:1; + } BIT; + } GTSTR; + union { + unsigned short WORD; + struct { + unsigned short NFCS3:2; + unsigned short NFCS2:2; + unsigned short NFCS1:2; + unsigned short NFCS0:2; + unsigned short NFB3EN:1; + unsigned short NFA3EN:1; + unsigned short NFB2EN:1; + unsigned short NFA2EN:1; + unsigned short NFB1EN:1; + unsigned short NFA1EN:1; + unsigned short NFB0EN:1; + unsigned short NFA0EN:1; + } BIT; + } NFCR; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char CPHW3:2; + unsigned char CPHW2:2; + unsigned char CPHW1:2; + unsigned char CPHW0:2; + unsigned char CSHW3:2; + unsigned char CSHW2:2; + unsigned char CSHW1:2; + unsigned char CSHW0:2; + } BIT; + } GTHSCR; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :4; + unsigned char CCSW3:1; + unsigned char CCSW2:1; + unsigned char CCSW1:1; + unsigned char CCSW0:1; + unsigned char CCHW3:2; + unsigned char CCHW2:2; + unsigned char CCHW1:2; + unsigned char CCHW0:2; + } BIT; + } GTHCCR; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char CSHSL3:4; + unsigned char CSHSL2:4; + unsigned char CSHSL1:4; + unsigned char CSHSL0:4; + } BIT; + } GTHSSR; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char CSHPL3:4; + unsigned char CSHPL2:4; + unsigned char CSHPL1:4; + unsigned char CSHPL0:4; + } BIT; + } GTHPSR; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :8; + unsigned char :4; + unsigned char WP3:1; + unsigned char WP2:1; + unsigned char WP1:1; + unsigned char WP0:1; + } BIT; + } GTWP; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :2; + unsigned char SYNC3:2; + unsigned char :2; + unsigned char SYNC2:2; + unsigned char :2; + unsigned char SYNC1:2; + unsigned char :2; + unsigned char SYNC0:2; + } BIT; + } GTSYNC; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char GTETRGEN:1; + unsigned char GTENFCS:2; + unsigned char :3; + unsigned char ETINF:1; + unsigned char ETIPF:1; + unsigned char :6; + unsigned char ETINEN:1; + unsigned char ETIPEN:1; + } BIT; + } GTETINT; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char BD33:1; + unsigned char BD32:1; + unsigned char BD31:1; + unsigned char BD30:1; + unsigned char BD23:1; + unsigned char BD22:1; + unsigned char BD21:1; + unsigned char BD20:1; + unsigned char BD13:1; + unsigned char BD12:1; + unsigned char BD11:1; + unsigned char BD10:1; + unsigned char BD03:1; + unsigned char BD02:1; + unsigned char BD01:1; + unsigned char BD00:1; + } BIT; + } GTBDR; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :8; + unsigned char :4; + unsigned char SWP3:1; + unsigned char SWP2:1; + unsigned char SWP1:1; + unsigned char SWP0:1; + } BIT; + } GTSWP; +}; + +struct st_gpt0 { + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char OBHLD:1; + unsigned char OBDFLT:1; + unsigned char GTIOB:6; + unsigned char OAHLD:1; + unsigned char OADFLT:1; + unsigned char GTIOA:6; + } BIT; + } GTIOR; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char ADTRBDEN:1; + unsigned char ADTRBUEN:1; + unsigned char ADTRADEN:1; + unsigned char ADTRAUEN:1; + unsigned char EINT:1; + unsigned char :3; + unsigned char GTINTPR:2; + unsigned char GTINTF:1; + unsigned char GTINTE:1; + unsigned char GTINTD:1; + unsigned char GTINTC:1; + unsigned char GTINTB:1; + unsigned char GTINTA:1; + } BIT; + } GTINTAD; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :2; + unsigned char CCLR:2; + unsigned char :2; + unsigned char TPCS:2; + unsigned char :5; + unsigned char MD:3; + } BIT; + } GTCR; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :1; + unsigned char ADTDB:1; + unsigned char ADTTB:2; + unsigned char :1; + unsigned char ADTDA:1; + unsigned char ADTTA:2; + unsigned char :1; + unsigned char CCRSWT:1; + unsigned char PR:2; + unsigned char CCRB:2; + unsigned char CCRA:2; + } BIT; + } GTBER; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :8; + unsigned char :6; + unsigned char UDF:1; + unsigned char UD:1; + } BIT; + } GTUDC; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :1; + unsigned char ADTBL:1; + unsigned char :1; + unsigned char ADTAL:1; + unsigned char :1; + unsigned char IVTT:3; + unsigned char IVTC:2; + unsigned char ITLF:1; + unsigned char ITLE:1; + unsigned char ITLD:1; + unsigned char ITLC:1; + unsigned char ITLB:1; + unsigned char ITLA:1; + } BIT; + } GTITC; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char TUCF:1; + unsigned char :3; + unsigned char DTEF:1; + unsigned char ITCNT:3; + unsigned char TCFPU:1; + unsigned char TCFPO:1; + unsigned char TCFF:1; + unsigned char TCFE:1; + unsigned char TCFD:1; + unsigned char TCFC:1; + unsigned char TCFB:1; + unsigned char TCFA:1; + } BIT; + } GTST; + unsigned short GTCNT; + unsigned short GTCCRA; + unsigned short GTCCRB; + unsigned short GTCCRC; + unsigned short GTCCRD; + unsigned short GTCCRE; + unsigned short GTCCRF; + unsigned short GTPR; + unsigned short GTPBR; + unsigned short GTPDBR; + char wk0[2]; + unsigned short GTADTRA; + unsigned short GTADTBRA; + unsigned short GTADTDBRA; + char wk1[2]; + unsigned short GTADTRB; + unsigned short GTADTBRB; + unsigned short GTADTDBRB; + char wk2[2]; + union { + unsigned short WORD; + struct { + unsigned short OBE:1; + unsigned short OAE:1; + unsigned short :1; + unsigned short SWN:1; + unsigned short :3; + unsigned short NFV:1; + unsigned short NFS:4; + unsigned short NVB:1; + unsigned short NVA:1; + unsigned short NEB:1; + unsigned short NEA:1; + } BIT; + } GTONCR; + union { + unsigned short WORD; + struct { + unsigned short :7; + unsigned short TDFER:1; + unsigned short :2; + unsigned short TDBDE:1; + unsigned short TDBUE:1; + unsigned short :3; + unsigned short TDE:1; + } BIT; + } GTDTCR; + unsigned short GTDVU; + unsigned short GTDVD; + unsigned short GTDBU; + unsigned short GTDBD; + union { + unsigned short WORD; + struct { + unsigned short :14; + unsigned short SOS:2; + } BIT; + } GTSOS; + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short SOTR:1; + } BIT; + } GTSOTR; +}; + +struct st_icu { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IR:1; + } BIT; + } IR[256]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DTCE:1; + } BIT; + } DTCER[256]; + union { + unsigned char BYTE; + struct { + unsigned char IEN7:1; + unsigned char IEN6:1; + unsigned char IEN5:1; + unsigned char IEN4:1; + unsigned char IEN3:1; + unsigned char IEN2:1; + unsigned char IEN1:1; + unsigned char IEN0:1; + } BIT; + } IER[32]; + char wk0[192]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SWINT:1; + } BIT; + } SWINTR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SWINT2:1; + } BIT; + } SWINT2R; + char wk1[14]; + union { + unsigned short WORD; + struct { + unsigned short FIEN:1; + unsigned short :7; + unsigned short FVCT:8; + } BIT; + } FIR; + char wk2[14]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char IPR:4; + } BIT; + } IPR[256]; + unsigned char DMRSR0; + char wk3[3]; + unsigned char DMRSR1; + char wk4[3]; + unsigned char DMRSR2; + char wk5[3]; + unsigned char DMRSR3; + char wk6[3]; + unsigned char DMRSR4; + char wk7[3]; + unsigned char DMRSR5; + char wk8[3]; + unsigned char DMRSR6; + char wk9[3]; + unsigned char DMRSR7; + char wk10[227]; +// union { +// unsigned char BYTE; +// struct { +// unsigned char DMRS:8; +// } BIT; +// } DMRSR0; +// char wk3[3]; +// union { +// unsigned char BYTE; +// struct { +// unsigned char DMRS:8; +// } BIT; +// } DMRSR1; +// char wk4[3]; +// union { +// unsigned char BYTE; +// struct { +// unsigned char DMRS:8; +// } BIT; +// } DMRSR2; +// char wk5[3]; +// union { +// unsigned char BYTE; +// struct { +// unsigned char DMRS:8; +// } BIT; +// } DMRSR3; +// char wk6[3]; +// union { +// unsigned char BYTE; +// struct { +// unsigned char DMRS:8; +// } BIT; +// } DMRSR4; +// char wk7[3]; +// union { +// unsigned char BYTE; +// struct { +// unsigned char DMRS:8; +// } BIT; +// } DMRSR5; +// char wk8[3]; +// union { +// unsigned char BYTE; +// struct { +// unsigned char DMRS:8; +// } BIT; +// } DMRSR6; +// char wk9[3]; +// union { +// unsigned char BYTE; +// struct { +// unsigned char DMRS:8; +// } BIT; +// } DMRSR7; +// char wk10[227]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char IRQMD:2; + } BIT; + } IRQCR[16]; + char wk11[16]; + union { + unsigned char BYTE; + struct { + unsigned char FLTEN7:1; + unsigned char FLTEN6:1; + unsigned char FLTEN5:1; + unsigned char FLTEN4:1; + unsigned char FLTEN3:1; + unsigned char FLTEN2:1; + unsigned char FLTEN1:1; + unsigned char FLTEN0:1; + } BIT; + } IRQFLTE0; + union { + unsigned char BYTE; + struct { + unsigned char FLTEN15:1; + unsigned char FLTEN14:1; + unsigned char FLTEN13:1; + unsigned char FLTEN12:1; + unsigned char FLTEN11:1; + unsigned char FLTEN10:1; + unsigned char FLTEN9:1; + unsigned char FLTEN8:1; + } BIT; + } IRQFLTE1; + char wk12[6]; + union { + unsigned short WORD; + struct { + unsigned short FCLKSEL7:2; + unsigned short FCLKSEL6:2; + unsigned short FCLKSEL5:2; + unsigned short FCLKSEL4:2; + unsigned short FCLKSEL3:2; + unsigned short FCLKSEL2:2; + unsigned short FCLKSEL1:2; + unsigned short FCLKSEL0:2; + } BIT; + } IRQFLTC0; + union { + unsigned short WORD; + struct { + unsigned short FCLKSEL15:2; + unsigned short FCLKSEL14:2; + unsigned short FCLKSEL13:2; + unsigned short FCLKSEL12:2; + unsigned short FCLKSEL11:2; + unsigned short FCLKSEL10:2; + unsigned short FCLKSEL9:2; + unsigned short FCLKSEL8:2; + } BIT; + } IRQFLTC1; + char wk13[84]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ECCRAMST:1; + unsigned char LVD2ST:1; + unsigned char LVD1ST:1; + unsigned char IWDTST:1; + unsigned char WDTST:1; + unsigned char OSTST:1; + unsigned char NMIST:1; + } BIT; + } NMISR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ECCRAMEN:1; + unsigned char LVD2EN:1; + unsigned char LVD1EN:1; + unsigned char IWDTEN:1; + unsigned char WDTEN:1; + unsigned char OSTEN:1; + unsigned char NMIEN:1; + } BIT; + } NMIER; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ECCRAMCLR:1; + unsigned char LVD2CLR:1; + unsigned char LVD1CLR:1; + unsigned char IWDTCLR:1; + unsigned char WDTCLR:1; + unsigned char OSTCLR:1; + unsigned char NMICLR:1; + } BIT; + } NMICLR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char NMIMD:1; + } BIT; + } NMICR; + char wk14[12]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char NFLTEN:1; + } BIT; + } NMIFLTE; + char wk15[3]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char NFCLKSEL:2; + } BIT; + } NMIFLTC; + char wk16[107]; + union { + unsigned long LONG; + struct { + unsigned long IS31:1; + unsigned long IS30:1; + unsigned long IS29:1; + unsigned long IS28:1; + unsigned long IS27:1; + unsigned long IS26:1; + unsigned long IS25:1; + unsigned long IS24:1; + unsigned long IS23:1; + unsigned long IS22:1; + unsigned long IS21:1; + unsigned long IS20:1; + unsigned long IS19:1; + unsigned long IS18:1; + unsigned long IS17:1; + unsigned long IS16:1; + unsigned long IS15:1; + unsigned long IS14:1; + unsigned long IS13:1; + unsigned long IS12:1; + unsigned long IS11:1; + unsigned long IS10:1; + unsigned long IS9:1; + unsigned long IS8:1; + unsigned long IS7:1; + unsigned long IS6:1; + unsigned long IS5:1; + unsigned long IS4:1; + unsigned long IS3:1; + unsigned long IS2:1; + unsigned long IS1:1; + unsigned long IS0:1; + } BIT; + } GRPBE0; + union { + unsigned long LONG; + struct { + unsigned long IS31:1; + unsigned long IS30:1; + unsigned long IS29:1; + unsigned long IS28:1; + unsigned long IS27:1; + unsigned long IS26:1; + unsigned long IS25:1; + unsigned long IS24:1; + unsigned long IS23:1; + unsigned long IS22:1; + unsigned long IS21:1; + unsigned long IS20:1; + unsigned long IS19:1; + unsigned long IS18:1; + unsigned long IS17:1; + unsigned long IS16:1; + unsigned long IS15:1; + unsigned long IS14:1; + unsigned long IS13:1; + unsigned long IS12:1; + unsigned long IS11:1; + unsigned long IS10:1; + unsigned long IS9:1; + unsigned long IS8:1; + unsigned long IS7:1; + unsigned long IS6:1; + unsigned long IS5:1; + unsigned long IS4:1; + unsigned long IS3:1; + unsigned long IS2:1; + unsigned long IS1:1; + unsigned long IS0:1; + } BIT; + } GRPBE1; + char wk17[40]; + union { + unsigned long LONG; + struct { + unsigned long IS31:1; + unsigned long IS30:1; + unsigned long IS29:1; + unsigned long IS28:1; + unsigned long IS27:1; + unsigned long IS26:1; + unsigned long IS25:1; + unsigned long IS24:1; + unsigned long IS23:1; + unsigned long IS22:1; + unsigned long IS21:1; + unsigned long IS20:1; + unsigned long IS19:1; + unsigned long IS18:1; + unsigned long IS17:1; + unsigned long IS16:1; + unsigned long IS15:1; + unsigned long IS14:1; + unsigned long IS13:1; + unsigned long IS12:1; + unsigned long IS11:1; + unsigned long IS10:1; + unsigned long IS9:1; + unsigned long IS8:1; + unsigned long IS7:1; + unsigned long IS6:1; + unsigned long IS5:1; + unsigned long IS4:1; + unsigned long IS3:1; + unsigned long IS2:1; + unsigned long IS1:1; + unsigned long IS0:1; + } BIT; + } GRPBL0; + union { + unsigned long LONG; + struct { + unsigned long IS31:1; + unsigned long IS30:1; + unsigned long IS29:1; + unsigned long IS28:1; + unsigned long IS27:1; + unsigned long IS26:1; + unsigned long IS25:1; + unsigned long IS24:1; + unsigned long IS23:1; + unsigned long IS22:1; + unsigned long IS21:1; + unsigned long IS20:1; + unsigned long IS19:1; + unsigned long IS18:1; + unsigned long IS17:1; + unsigned long IS16:1; + unsigned long IS15:1; + unsigned long IS14:1; + unsigned long IS13:1; + unsigned long IS12:1; + unsigned long IS11:1; + unsigned long IS10:1; + unsigned long IS9:1; + unsigned long IS8:1; + unsigned long IS7:1; + unsigned long IS6:1; + unsigned long IS5:1; + unsigned long IS4:1; + unsigned long IS3:1; + unsigned long IS2:1; + unsigned long IS1:1; + unsigned long IS0:1; + } BIT; + } GRPBL1; + char wk18[8]; + union { + unsigned long LONG; + struct { + unsigned long EN31:1; + unsigned long EN30:1; + unsigned long EN29:1; + unsigned long EN28:1; + unsigned long EN27:1; + unsigned long EN26:1; + unsigned long EN25:1; + unsigned long EN24:1; + unsigned long EN23:1; + unsigned long EN22:1; + unsigned long EN21:1; + unsigned long EN20:1; + unsigned long EN19:1; + unsigned long EN18:1; + unsigned long EN17:1; + unsigned long EN16:1; + unsigned long EN15:1; + unsigned long EN14:1; + unsigned long EN13:1; + unsigned long EN12:1; + unsigned long EN11:1; + unsigned long EN10:1; + unsigned long EN9:1; + unsigned long EN8:1; + unsigned long EN7:1; + unsigned long EN6:1; + unsigned long EN5:1; + unsigned long EN4:1; + unsigned long EN3:1; + unsigned long EN2:1; + unsigned long EN1:1; + unsigned long EN0:1; + } BIT; + } GENBE0; + union { + unsigned long LONG; + struct { + unsigned long EN31:1; + unsigned long EN30:1; + unsigned long EN29:1; + unsigned long EN28:1; + unsigned long EN27:1; + unsigned long EN26:1; + unsigned long EN25:1; + unsigned long EN24:1; + unsigned long EN23:1; + unsigned long EN22:1; + unsigned long EN21:1; + unsigned long EN20:1; + unsigned long EN19:1; + unsigned long EN18:1; + unsigned long EN17:1; + unsigned long EN16:1; + unsigned long EN15:1; + unsigned long EN14:1; + unsigned long EN13:1; + unsigned long EN12:1; + unsigned long EN11:1; + unsigned long EN10:1; + unsigned long EN9:1; + unsigned long EN8:1; + unsigned long EN7:1; + unsigned long EN6:1; + unsigned long EN5:1; + unsigned long EN4:1; + unsigned long EN3:1; + unsigned long EN2:1; + unsigned long EN1:1; + unsigned long EN0:1; + } BIT; + } GENBE1; + char wk19[40]; + union { + unsigned long LONG; + struct { + unsigned long EN31:1; + unsigned long EN30:1; + unsigned long EN29:1; + unsigned long EN28:1; + unsigned long EN27:1; + unsigned long EN26:1; + unsigned long EN25:1; + unsigned long EN24:1; + unsigned long EN23:1; + unsigned long EN22:1; + unsigned long EN21:1; + unsigned long EN20:1; + unsigned long EN19:1; + unsigned long EN18:1; + unsigned long EN17:1; + unsigned long EN16:1; + unsigned long EN15:1; + unsigned long EN14:1; + unsigned long EN13:1; + unsigned long EN12:1; + unsigned long EN11:1; + unsigned long EN10:1; + unsigned long EN9:1; + unsigned long EN8:1; + unsigned long EN7:1; + unsigned long EN6:1; + unsigned long EN5:1; + unsigned long EN4:1; + unsigned long EN3:1; + unsigned long EN2:1; + unsigned long EN1:1; + unsigned long EN0:1; + } BIT; + } GENBL0; + union { + unsigned long LONG; + struct { + unsigned long EN31:1; + unsigned long EN30:1; + unsigned long EN29:1; + unsigned long EN28:1; + unsigned long EN27:1; + unsigned long EN26:1; + unsigned long EN25:1; + unsigned long EN24:1; + unsigned long EN23:1; + unsigned long EN22:1; + unsigned long EN21:1; + unsigned long EN20:1; + unsigned long EN19:1; + unsigned long EN18:1; + unsigned long EN17:1; + unsigned long EN16:1; + unsigned long EN15:1; + unsigned long EN14:1; + unsigned long EN13:1; + unsigned long EN12:1; + unsigned long EN11:1; + unsigned long EN10:1; + unsigned long EN9:1; + unsigned long EN8:1; + unsigned long EN7:1; + unsigned long EN6:1; + unsigned long EN5:1; + unsigned long EN4:1; + unsigned long EN3:1; + unsigned long EN2:1; + unsigned long EN1:1; + unsigned long EN0:1; + } BIT; + } GENBL1; + char wk20[8]; + union { + unsigned long LONG; + struct { + unsigned long CLR31:1; + unsigned long CLR30:1; + unsigned long CLR29:1; + unsigned long CLR28:1; + unsigned long CLR27:1; + unsigned long CLR26:1; + unsigned long CLR25:1; + unsigned long CLR24:1; + unsigned long CLR23:1; + unsigned long CLR22:1; + unsigned long CLR21:1; + unsigned long CLR20:1; + unsigned long CLR19:1; + unsigned long CLR18:1; + unsigned long CLR17:1; + unsigned long CLR16:1; + unsigned long CLR15:1; + unsigned long CLR14:1; + unsigned long CLR13:1; + unsigned long CLR12:1; + unsigned long CLR11:1; + unsigned long CLR10:1; + unsigned long CLR9:1; + unsigned long CLR8:1; + unsigned long CLR7:1; + unsigned long CLR6:1; + unsigned long CLR5:1; + unsigned long CLR4:1; + unsigned long CLR3:1; + unsigned long CLR2:1; + unsigned long CLR1:1; + unsigned long CLR0:1; + } BIT; + } GCREBE0; + union { + unsigned long LONG; + struct { + unsigned long CLR31:1; + unsigned long CLR30:1; + unsigned long CLR29:1; + unsigned long CLR28:1; + unsigned long CLR27:1; + unsigned long CLR26:1; + unsigned long CLR25:1; + unsigned long CLR24:1; + unsigned long CLR23:1; + unsigned long CLR22:1; + unsigned long CLR21:1; + unsigned long CLR20:1; + unsigned long CLR19:1; + unsigned long CLR18:1; + unsigned long CLR17:1; + unsigned long CLR16:1; + unsigned long CLR15:1; + unsigned long CLR14:1; + unsigned long CLR13:1; + unsigned long CLR12:1; + unsigned long CLR11:1; + unsigned long CLR10:1; + unsigned long CLR9:1; + unsigned long CLR8:1; + unsigned long CLR7:1; + unsigned long CLR6:1; + unsigned long CLR5:1; + unsigned long CLR4:1; + unsigned long CLR3:1; + unsigned long CLR2:1; + unsigned long CLR1:1; + unsigned long CLR0:1; + } BIT; + } GCREBE1; + char wk21[120]; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBR0; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBR1; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBR2; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBR3; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBR4; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBR5; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBR6; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBR7; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBR8; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBR9; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIBRA; + char wk22[117]; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR128; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR129; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR130; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR131; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR132; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR133; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR134; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR135; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR136; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR137; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR138; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR139; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR140; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR141; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR142; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBXR143; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR144; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR145; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR146; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR147; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR148; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR149; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR150; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR151; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR152; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR153; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR154; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR155; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR156; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR157; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR158; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR159; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR160; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR161; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR162; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR163; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR164; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR165; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR166; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR167; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR168; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR169; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR170; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR171; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR172; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR173; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR174; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR175; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR176; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR177; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR178; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR179; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR180; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR181; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR182; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR183; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR184; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR185; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR186; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR187; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR188; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR189; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR190; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR191; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR192; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR193; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR194; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR195; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR196; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR197; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR198; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR199; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR200; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR201; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR202; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR203; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR204; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR205; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR206; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIBR207; + char wk23[48]; + union { + unsigned long LONG; + struct { + unsigned long IS31:1; + unsigned long IS30:1; + unsigned long IS29:1; + unsigned long IS28:1; + unsigned long IS27:1; + unsigned long IS26:1; + unsigned long IS25:1; + unsigned long IS24:1; + unsigned long IS23:1; + unsigned long IS22:1; + unsigned long IS21:1; + unsigned long IS20:1; + unsigned long IS19:1; + unsigned long IS18:1; + unsigned long IS17:1; + unsigned long IS16:1; + unsigned long IS15:1; + unsigned long IS14:1; + unsigned long IS13:1; + unsigned long IS12:1; + unsigned long IS11:1; + unsigned long IS10:1; + unsigned long IS9:1; + unsigned long IS8:1; + unsigned long IS7:1; + unsigned long IS6:1; + unsigned long IS5:1; + unsigned long IS4:1; + unsigned long IS3:1; + unsigned long IS2:1; + unsigned long IS1:1; + unsigned long IS0:1; + } BIT; + } GRPAE0; + union { + unsigned long LONG; + struct { + unsigned long IS31:1; + unsigned long IS30:1; + unsigned long IS29:1; + unsigned long IS28:1; + unsigned long IS27:1; + unsigned long IS26:1; + unsigned long IS25:1; + unsigned long IS24:1; + unsigned long IS23:1; + unsigned long IS22:1; + unsigned long IS21:1; + unsigned long IS20:1; + unsigned long IS19:1; + unsigned long IS18:1; + unsigned long IS17:1; + unsigned long IS16:1; + unsigned long IS15:1; + unsigned long IS14:1; + unsigned long IS13:1; + unsigned long IS12:1; + unsigned long IS11:1; + unsigned long IS10:1; + unsigned long IS9:1; + unsigned long IS8:1; + unsigned long IS7:1; + unsigned long IS6:1; + unsigned long IS5:1; + unsigned long IS4:1; + unsigned long IS3:1; + unsigned long IS2:1; + unsigned long IS1:1; + unsigned long IS0:1; + } BIT; + } GRPAE1; + char wk24[40]; + union { + unsigned long LONG; + struct { + unsigned long IS31:1; + unsigned long IS30:1; + unsigned long IS29:1; + unsigned long IS28:1; + unsigned long IS27:1; + unsigned long IS26:1; + unsigned long IS25:1; + unsigned long IS24:1; + unsigned long IS23:1; + unsigned long IS22:1; + unsigned long IS21:1; + unsigned long IS20:1; + unsigned long IS19:1; + unsigned long IS18:1; + unsigned long IS17:1; + unsigned long IS16:1; + unsigned long IS15:1; + unsigned long IS14:1; + unsigned long IS13:1; + unsigned long IS12:1; + unsigned long IS11:1; + unsigned long IS10:1; + unsigned long IS9:1; + unsigned long IS8:1; + unsigned long IS7:1; + unsigned long IS6:1; + unsigned long IS5:1; + unsigned long IS4:1; + unsigned long IS3:1; + unsigned long IS2:1; + unsigned long IS1:1; + unsigned long IS0:1; + } BIT; + } GRPAL0; + union { + unsigned long LONG; + struct { + unsigned long IS31:1; + unsigned long IS30:1; + unsigned long IS29:1; + unsigned long IS28:1; + unsigned long IS27:1; + unsigned long IS26:1; + unsigned long IS25:1; + unsigned long IS24:1; + unsigned long IS23:1; + unsigned long IS22:1; + unsigned long IS21:1; + unsigned long IS20:1; + unsigned long IS19:1; + unsigned long IS18:1; + unsigned long IS17:1; + unsigned long IS16:1; + unsigned long IS15:1; + unsigned long IS14:1; + unsigned long IS13:1; + unsigned long IS12:1; + unsigned long IS11:1; + unsigned long IS10:1; + unsigned long IS9:1; + unsigned long IS8:1; + unsigned long IS7:1; + unsigned long IS6:1; + unsigned long IS5:1; + unsigned long IS4:1; + unsigned long IS3:1; + unsigned long IS2:1; + unsigned long IS1:1; + unsigned long IS0:1; + } BIT; + } GRPAL1; + char wk25[8]; + union { + unsigned long LONG; + struct { + unsigned long EN31:1; + unsigned long EN30:1; + unsigned long EN29:1; + unsigned long EN28:1; + unsigned long EN27:1; + unsigned long EN26:1; + unsigned long EN25:1; + unsigned long EN24:1; + unsigned long EN23:1; + unsigned long EN22:1; + unsigned long EN21:1; + unsigned long EN20:1; + unsigned long EN19:1; + unsigned long EN18:1; + unsigned long EN17:1; + unsigned long EN16:1; + unsigned long EN15:1; + unsigned long EN14:1; + unsigned long EN13:1; + unsigned long EN12:1; + unsigned long EN11:1; + unsigned long EN10:1; + unsigned long EN9:1; + unsigned long EN8:1; + unsigned long EN7:1; + unsigned long EN6:1; + unsigned long EN5:1; + unsigned long EN4:1; + unsigned long EN3:1; + unsigned long EN2:1; + unsigned long EN1:1; + unsigned long EN0:1; + } BIT; + } GENAE0; + union { + unsigned long LONG; + struct { + unsigned long EN31:1; + unsigned long EN30:1; + unsigned long EN29:1; + unsigned long EN28:1; + unsigned long EN27:1; + unsigned long EN26:1; + unsigned long EN25:1; + unsigned long EN24:1; + unsigned long EN23:1; + unsigned long EN22:1; + unsigned long EN21:1; + unsigned long EN20:1; + unsigned long EN19:1; + unsigned long EN18:1; + unsigned long EN17:1; + unsigned long EN16:1; + unsigned long EN15:1; + unsigned long EN14:1; + unsigned long EN13:1; + unsigned long EN12:1; + unsigned long EN11:1; + unsigned long EN10:1; + unsigned long EN9:1; + unsigned long EN8:1; + unsigned long EN7:1; + unsigned long EN6:1; + unsigned long EN5:1; + unsigned long EN4:1; + unsigned long EN3:1; + unsigned long EN2:1; + unsigned long EN1:1; + unsigned long EN0:1; + } BIT; + } GENAE1; + char wk26[40]; + union { + unsigned long LONG; + struct { + unsigned long EN31:1; + unsigned long EN30:1; + unsigned long EN29:1; + unsigned long EN28:1; + unsigned long EN27:1; + unsigned long EN26:1; + unsigned long EN25:1; + unsigned long EN24:1; + unsigned long EN23:1; + unsigned long EN22:1; + unsigned long EN21:1; + unsigned long EN20:1; + unsigned long EN19:1; + unsigned long EN18:1; + unsigned long EN17:1; + unsigned long EN16:1; + unsigned long EN15:1; + unsigned long EN14:1; + unsigned long EN13:1; + unsigned long EN12:1; + unsigned long EN11:1; + unsigned long EN10:1; + unsigned long EN9:1; + unsigned long EN8:1; + unsigned long EN7:1; + unsigned long EN6:1; + unsigned long EN5:1; + unsigned long EN4:1; + unsigned long EN3:1; + unsigned long EN2:1; + unsigned long EN1:1; + unsigned long EN0:1; + } BIT; + } GENAL0; + union { + unsigned long LONG; + struct { + unsigned long EN31:1; + unsigned long EN30:1; + unsigned long EN29:1; + unsigned long EN28:1; + unsigned long EN27:1; + unsigned long EN26:1; + unsigned long EN25:1; + unsigned long EN24:1; + unsigned long EN23:1; + unsigned long EN22:1; + unsigned long EN21:1; + unsigned long EN20:1; + unsigned long EN19:1; + unsigned long EN18:1; + unsigned long EN17:1; + unsigned long EN16:1; + unsigned long EN15:1; + unsigned long EN14:1; + unsigned long EN13:1; + unsigned long EN12:1; + unsigned long EN11:1; + unsigned long EN10:1; + unsigned long EN9:1; + unsigned long EN8:1; + unsigned long EN7:1; + unsigned long EN6:1; + unsigned long EN5:1; + unsigned long EN4:1; + unsigned long EN3:1; + unsigned long EN2:1; + unsigned long EN1:1; + unsigned long EN0:1; + } BIT; + } GENAL1; + char wk27[8]; + union { + unsigned long LONG; + struct { + unsigned long CLR31:1; + unsigned long CLR30:1; + unsigned long CLR29:1; + unsigned long CLR28:1; + unsigned long CLR27:1; + unsigned long CLR26:1; + unsigned long CLR25:1; + unsigned long CLR24:1; + unsigned long CLR23:1; + unsigned long CLR22:1; + unsigned long CLR21:1; + unsigned long CLR20:1; + unsigned long CLR19:1; + unsigned long CLR18:1; + unsigned long CLR17:1; + unsigned long CLR16:1; + unsigned long CLR15:1; + unsigned long CLR14:1; + unsigned long CLR13:1; + unsigned long CLR12:1; + unsigned long CLR11:1; + unsigned long CLR10:1; + unsigned long CLR9:1; + unsigned long CLR8:1; + unsigned long CLR7:1; + unsigned long CLR6:1; + unsigned long CLR5:1; + unsigned long CLR4:1; + unsigned long CLR3:1; + unsigned long CLR2:1; + unsigned long CLR1:1; + unsigned long CLR0:1; + } BIT; + } GCREAE0; + union { + unsigned long LONG; + struct { + unsigned long CLR31:1; + unsigned long CLR30:1; + unsigned long CLR29:1; + unsigned long CLR28:1; + unsigned long CLR27:1; + unsigned long CLR26:1; + unsigned long CLR25:1; + unsigned long CLR24:1; + unsigned long CLR23:1; + unsigned long CLR22:1; + unsigned long CLR21:1; + unsigned long CLR20:1; + unsigned long CLR19:1; + unsigned long CLR18:1; + unsigned long CLR17:1; + unsigned long CLR16:1; + unsigned long CLR15:1; + unsigned long CLR14:1; + unsigned long CLR13:1; + unsigned long CLR12:1; + unsigned long CLR11:1; + unsigned long CLR10:1; + unsigned long CLR9:1; + unsigned long CLR8:1; + unsigned long CLR7:1; + unsigned long CLR6:1; + unsigned long CLR5:1; + unsigned long CLR4:1; + unsigned long CLR3:1; + unsigned long CLR2:1; + unsigned long CLR1:1; + unsigned long CLR0:1; + } BIT; + } GCREAE1; + char wk28[120]; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIAR0; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIAR1; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIAR2; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIAR3; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIAR4; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIAR5; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIAR6; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIAR7; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIAR8; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIAR9; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIARA; + union { + unsigned char BYTE; + struct { + unsigned char PIR7:1; + unsigned char PIR6:1; + unsigned char PIR5:1; + unsigned char PIR4:1; + unsigned char PIR3:1; + unsigned char PIR2:1; + unsigned char PIR1:1; + unsigned char PIR0:1; + } BIT; + } PIARB; + char wk29[196]; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR208; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR209; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR210; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR211; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR212; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR213; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR214; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR215; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR216; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR217; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR218; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR219; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR220; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR221; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR222; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR223; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR224; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR225; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR226; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR227; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR228; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR229; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR230; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR231; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR232; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR233; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR234; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR235; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR236; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR237; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR238; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR239; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR240; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR241; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR242; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR243; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR244; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR245; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR246; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR247; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR248; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR249; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR250; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR251; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR252; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR253; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR254; + union { + unsigned char BYTE; + struct { + unsigned char SLI:8; + } BIT; + } SLIAR255; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char WPRC:1; + } BIT; + } SLIPRCR; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char SELEXD1:1; + unsigned char SELEXD0:1; + } BIT; + } SELEXDR; +}; + +struct st_iwdt { + unsigned char IWDTRR; + char wk0[1]; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short RPSS:2; + unsigned short :2; + unsigned short RPES:2; + unsigned short CKS:4; + unsigned short :2; + unsigned short TOPS:2; + } BIT; + } IWDTCR; + union { + unsigned short WORD; + struct { + unsigned short REFEF:1; + unsigned short UNDFF:1; + unsigned short CNTVAL:14; + } BIT; + } IWDTSR; + union { + unsigned char BYTE; + struct { + unsigned char RSTIRQS:1; + } BIT; + } IWDTRCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char SLCSTP:1; + } BIT; + } IWDTCSTPR; +}; + +struct st_mmc { + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long BOOT:1; + unsigned long CMD:6; + unsigned long RTYP:2; + unsigned long RBSY:1; + unsigned long :1; + unsigned long WDAT:1; + unsigned long DWEN:1; + unsigned long CMLTE:1; + unsigned long CMD12EN:1; + unsigned long RIDXC:2; + unsigned long RCRC7C:2; + unsigned long :1; + unsigned long CRC16C:1; + unsigned long BOOTACK:1; + unsigned long CRCSTE:1; + unsigned long TBIT:1; + unsigned long OPDM:1; + unsigned long :2; + unsigned long SBIT:1; + unsigned long :1; + unsigned long DATW:2; + } BIT; + } CECMDSET; + char wk0[4]; + union { + unsigned long LONG; + struct { + unsigned long ARG:32; + } BIT; + } CEARG; + union { + unsigned long LONG; + struct { + unsigned long C12ARG:32; + } BIT; + } CEARGCMD12; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long BREAK:1; + } BIT; + } CECMDCTRL; + union { + unsigned long LONG; + struct { + unsigned long BLKCNT:16; + unsigned long BLKSZ:16; + } BIT; + } CEBLOCKSET; + union { + unsigned long LONG; + struct { + unsigned long MMCBUSBSY:1; + unsigned long :6; + unsigned long CLKEN:1; + unsigned long :4; + unsigned long CLKDIV:4; + unsigned long :2; + unsigned long SRSTPO:2; + unsigned long SRBSYTO:4; + unsigned long SRWDTO:4; + } BIT; + } CECLKCTRL; + union { + unsigned long LONG; + struct { + unsigned long :5; + unsigned long DMATYP:1; + unsigned long DMAWEN:1; + unsigned long DMAREN:1; + unsigned long :7; + unsigned long ATYP:1; + } BIT; + } CEBUFACC; + unsigned long CERESP3; + unsigned long CERESP2; + unsigned long CERESP1; + unsigned long CERESP0; + union { + unsigned long LONG; + struct { + unsigned long RSP12:32; + } BIT; + } CERESPCMD12; + union { + unsigned long LONG; + struct { + unsigned long DATA:32; + } BIT; + } CEDATA; + char wk1[4]; + union { + unsigned long LONG; + struct { + unsigned long SBTCLKDIV:4; + unsigned long SBTACKTO:4; + unsigned long S1STBTDATTO:4; + unsigned long SBTDATTO:4; + } BIT; + } CEBOOT; + union { + unsigned long LONG; + struct { + unsigned long :5; + unsigned long CMD12DRE:1; + unsigned long CMD12RBE:1; + unsigned long CMD12CRE:1; + unsigned long DTRANE:1; + unsigned long BUFRE:1; + unsigned long BUFWEN:1; + unsigned long BUFREN:1; + unsigned long :2; + unsigned long RBSYE:1; + unsigned long CRSPE:1; + unsigned long CMDVIO:1; + unsigned long BUFVIO:1; + unsigned long :2; + unsigned long WDATERR:1; + unsigned long RDATERR:1; + unsigned long RIDXERR:1; + unsigned long RSPERR:1; + unsigned long :3; + unsigned long CRCSTO:1; + unsigned long WDATTO:1; + unsigned long RDATTO:1; + unsigned long RBSYTO:1; + unsigned long RSPTO:1; + } BIT; + } CEINT; + union { + unsigned long LONG; + struct { + unsigned long :5; + unsigned long MCMD12DRE:1; + unsigned long MCMD12RBE:1; + unsigned long MCMD12CRE:1; + unsigned long MDTRANE:1; + unsigned long MBUFRE:1; + unsigned long MBUFWEN:1; + unsigned long MBUFREN:1; + unsigned long :2; + unsigned long MRBSYE:1; + unsigned long MCRSPE:1; + unsigned long MCMDVIO:1; + unsigned long MBUFVIO:1; + unsigned long :2; + unsigned long MWDATERR:1; + unsigned long MRDATERR:1; + unsigned long MRIDXERR:1; + unsigned long MRSPERR:1; + unsigned long :3; + unsigned long MCRCSTO:1; + unsigned long MWDATTO:1; + unsigned long MRDATTO:1; + unsigned long MRBSYTO:1; + unsigned long MRSPTO:1; + } BIT; + } CEINTEN; + union { + unsigned long LONG; + struct { + unsigned long CMDSEQ:1; + unsigned long CMDSIG:1; + unsigned long RSPIDX:6; + unsigned long DATSIG:8; + unsigned long RCVBLK:16; + } BIT; + } CEHOSTSTS1; + union { + unsigned long LONG; + struct { + unsigned long CRCSTE:1; + unsigned long CRC16E:1; + unsigned long AC12CRCE:1; + unsigned long RSPCRC7E:1; + unsigned long CRCSTEBE:1; + unsigned long RDATEBE:1; + unsigned long AC12REBE:1; + unsigned long RSPEBE:1; + unsigned long AC12IDXE:1; + unsigned long RSPIDXE:1; + unsigned long BTACKPATE:1; + unsigned long BTACKEBE:1; + unsigned long :1; + unsigned long CRCST:3; + unsigned long :1; + unsigned long STRDATTO:1; + unsigned long DATBSYTO:1; + unsigned long CRCSTTO:1; + unsigned long AC12BSYTO:1; + unsigned long RSPBSYTO:1; + unsigned long AC12RSPTO:1; + unsigned long STRSPTO:1; + unsigned long BTACKTO:1; + unsigned long STBTDATTO:1; + unsigned long BTDATTO:1; + } BIT; + } CEHOSTSTS2; + char wk2[32]; + union { + unsigned long LONG; + struct { + unsigned long :17; + unsigned long CDSIG:1; + unsigned long CDRISE:1; + unsigned long CDFALL:1; + unsigned long :6; + unsigned long MCDRISE:1; + unsigned long MCDFALL:1; + } BIT; + } CEDETECT; + union { + unsigned long LONG; + struct { + unsigned long :10; + unsigned long RESNOUT:1; + unsigned long :1; + unsigned long CLKMAIN:1; + } BIT; + } CEADDMODE; + char wk3[4]; + union { + unsigned long LONG; + struct { + unsigned long SWRST:1; + unsigned long :15; + unsigned long VERSION:16; + } BIT; + } CEVERSION; +}; + +struct st_mpc { + union { + unsigned char BYTE; + struct { + unsigned char CS7E:1; + unsigned char CS6E:1; + unsigned char CS5E:1; + unsigned char CS4E:1; + unsigned char CS3E:1; + unsigned char CS2E:1; + unsigned char CS1E:1; + unsigned char CS0E:1; + } BIT; + } PFCSE; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char CS3S:2; + unsigned char CS2S:2; + unsigned char CS1S:2; + unsigned char :1; + unsigned char CS0S:1; + } BIT; + } PFCSS0; + union { + unsigned char BYTE; + struct { + unsigned char CS7S:2; + unsigned char CS6S:2; + unsigned char CS5S:2; + unsigned char CS4S:2; + } BIT; + } PFCSS1; + union { + unsigned char BYTE; + struct { + unsigned char A15E:1; + unsigned char A14E:1; + unsigned char A13E:1; + unsigned char A12E:1; + unsigned char A11E:1; + unsigned char A10E:1; + unsigned char A9E:1; + unsigned char A8E:1; + } BIT; + } PFAOE0; + union { + unsigned char BYTE; + struct { + unsigned char A23E:1; + unsigned char A22E:1; + unsigned char A21E:1; + unsigned char A20E:1; + unsigned char A19E:1; + unsigned char A18E:1; + unsigned char A17E:1; + unsigned char A16E:1; + } BIT; + } PFAOE1; + union { + unsigned char BYTE; + struct { + unsigned char WR32BC32E:1; + unsigned char WR1BC1E:1; + unsigned char DH32E:1; + unsigned char DHE:1; + unsigned char BCLKO:1; + unsigned char :1; + unsigned char ADRHMS:1; + unsigned char ADRLE:1; + } BIT; + } PFBCR0; + union { + unsigned char BYTE; + struct { + unsigned char SDCLKE:1; + unsigned char DQM1E:1; + unsigned char :1; + unsigned char MDSDE:1; + unsigned char ALES:1; + unsigned char ALEOE:1; + unsigned char WAITS:2; + } BIT; + } PFBCR1; + char wk1[6]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PHYMODE1:1; + unsigned char PHYMODE0:1; + } BIT; + } PFENET; + char wk2[16]; + union { + unsigned char BYTE; + struct { + unsigned char B0WI:1; + unsigned char PFSWE:1; + } BIT; + } PWPR; + char wk3[32]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P00PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P01PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P02PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P03PFS; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P05PFS; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P07PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P10PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P11PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P12PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P13PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P14PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P15PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P16PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P17PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P20PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P21PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P22PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P23PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P24PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P25PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P26PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P27PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P30PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P31PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P32PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P33PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P34PFS; + char wk6[3]; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + } BIT; + } P40PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + } BIT; + } P41PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + } BIT; + } P42PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + } BIT; + } P43PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + } BIT; + } P44PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + } BIT; + } P45PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + } BIT; + } P46PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + } BIT; + } P47PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P50PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P51PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P52PFS; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P54PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P55PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P56PFS; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P60PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P61PFS; + char wk9[4]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P66PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } P67PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P70PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P71PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P72PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P73PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P74PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P75PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P76PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P77PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P80PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P81PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P82PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P83PFS; + char wk10[2]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P86PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } P87PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char :1; + unsigned char PSEL:6; + } BIT; + } P90PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char :1; + unsigned char PSEL:6; + } BIT; + } P91PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char :1; + unsigned char PSEL:6; + } BIT; + } P92PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char :1; + unsigned char PSEL:6; + } BIT; + } P93PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char :1; + unsigned char PSEL:6; + } BIT; + } P94PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char :1; + unsigned char PSEL:6; + } BIT; + } P95PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char :1; + unsigned char PSEL:6; + } BIT; + } P96PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char :1; + unsigned char PSEL:6; + } BIT; + } P97PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PA0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PA1PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PA2PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PA3PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PA4PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PA5PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PA6PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PA7PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PB0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PB1PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PB2PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PB3PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PB4PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PB5PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PB6PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PB7PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PC0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PC1PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PC2PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PC3PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PC4PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PC5PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PC6PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PC7PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PD0PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PD1PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PD2PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PD3PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PD4PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PD5PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PD6PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PD7PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PE0PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PE1PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PE2PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PE3PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PE4PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PE5PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PE6PFS; + union { + unsigned char BYTE; + struct { + unsigned char ASEL:1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PE7PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PF0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PF1PFS; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PF2PFS; + char wk11[2]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char ISEL:1; + unsigned char PSEL:6; + } BIT; + } PF5PFS; + char wk12[2]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } PG0PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } PG1PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } PG2PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } PG3PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } PG4PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } PG5PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } PG6PFS; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } PG7PFS; + char wk13[11]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } PJ3PFS; + char wk14[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char PSEL:6; + } BIT; + } PJ5PFS; +}; + +struct st_mpu { + union { + unsigned long LONG; + struct { + unsigned long RSPN:28; + } BIT; + } RSPAGE0; + union { + unsigned long LONG; + struct { + unsigned long REPN:28; + unsigned long UAC:3; + unsigned long V:1; + } BIT; + } REPAGE0; + union { + unsigned long LONG; + struct { + unsigned long RSPN:28; + } BIT; + } RSPAGE1; + union { + unsigned long LONG; + struct { + unsigned long REPN:28; + unsigned long UAC:3; + unsigned long V:1; + } BIT; + } REPAGE1; + union { + unsigned long LONG; + struct { + unsigned long RSPN:28; + } BIT; + } RSPAGE2; + union { + unsigned long LONG; + struct { + unsigned long REPN:28; + unsigned long UAC:3; + unsigned long V:1; + } BIT; + } REPAGE2; + union { + unsigned long LONG; + struct { + unsigned long RSPN:28; + } BIT; + } RSPAGE3; + union { + unsigned long LONG; + struct { + unsigned long REPN:28; + unsigned long UAC:3; + unsigned long V:1; + } BIT; + } REPAGE3; + union { + unsigned long LONG; + struct { + unsigned long RSPN:28; + } BIT; + } RSPAGE4; + union { + unsigned long LONG; + struct { + unsigned long REPN:28; + unsigned long UAC:3; + unsigned long V:1; + } BIT; + } REPAGE4; + union { + unsigned long LONG; + struct { + unsigned long RSPN:28; + } BIT; + } RSPAGE5; + union { + unsigned long LONG; + struct { + unsigned long REPN:28; + unsigned long UAC:3; + unsigned long V:1; + } BIT; + } REPAGE5; + union { + unsigned long LONG; + struct { + unsigned long RSPN:28; + } BIT; + } RSPAGE6; + union { + unsigned long LONG; + struct { + unsigned long REPN:28; + unsigned long UAC:3; + unsigned long V:1; + } BIT; + } REPAGE6; + union { + unsigned long LONG; + struct { + unsigned long RSPN:28; + } BIT; + } RSPAGE7; + union { + unsigned long LONG; + struct { + unsigned long REPN:28; + unsigned long UAC:3; + unsigned long V:1; + } BIT; + } REPAGE7; + char wk0[192]; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long MPEN:1; + } BIT; + } MPEN; + union { + unsigned long LONG; + struct { + unsigned long :28; + unsigned long UBAC:3; + } BIT; + } MPBAC; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long CLR:1; + } BIT; + } MPECLR; + union { + unsigned long LONG; + struct { + unsigned long :29; + unsigned long DRW:1; + unsigned long DA:1; + unsigned long IA:1; + } BIT; + } MPESTS; + char wk1[4]; + union { + unsigned long LONG; + struct { + unsigned long DEA:32; + } BIT; + } MPDEA; + char wk2[8]; + union { + unsigned long LONG; + struct { + unsigned long SA:32; + } BIT; + } MPSA; + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short S:1; + } BIT; + } MPOPS; + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short INV:1; + } BIT; + } MPOPI; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long HITI:8; + unsigned long :12; + unsigned long UHACI:3; + } BIT; + } MHITI; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long HITD:8; + unsigned long :12; + unsigned long UHACD:3; + } BIT; + } MHITD; +}; + +struct st_mtu { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char OE4D:1; + unsigned char OE4C:1; + unsigned char OE3D:1; + unsigned char OE4B:1; + unsigned char OE4A:1; + unsigned char OE3B:1; + } BIT; + } TOERA; + char wk0[2]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char BDC:1; + unsigned char N:1; + unsigned char P:1; + unsigned char FB:1; + unsigned char WF:1; + unsigned char VF:1; + unsigned char UF:1; + } BIT; + } TGCRA; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSYE:1; + unsigned char :2; + unsigned char TOCL:1; + unsigned char TOCS:1; + unsigned char OLSN:1; + unsigned char OLSP:1; + } BIT; + } TOCR1A; + union { + unsigned char BYTE; + struct { + unsigned char BF:2; + unsigned char OLS3N:1; + unsigned char OLS3P:1; + unsigned char OLS2N:1; + unsigned char OLS2P:1; + unsigned char OLS1N:1; + unsigned char OLS1P:1; + } BIT; + } TOCR2A; + char wk1[4]; + unsigned short TCDRA; + unsigned short TDDRA; + char wk2[8]; + unsigned short TCNTSA; + unsigned short TCBRA; + char wk3[12]; + union { + unsigned char BYTE; + struct { + unsigned char T3AEN:1; + unsigned char T3ACOR:3; + unsigned char T4VEN:1; + unsigned char T4VCOR:3; + } BIT; + } TITCR1A; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char T3ACNT:3; + unsigned char :1; + unsigned char T4VCNT:3; + } BIT; + } TITCNT1A; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char BTE:2; + } BIT; + } TBTERA; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TDER:1; + } BIT; + } TDERA; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char OLS3N:1; + unsigned char OLS3P:1; + unsigned char OLS2N:1; + unsigned char OLS2P:1; + unsigned char OLS1N:1; + unsigned char OLS1P:1; + } BIT; + } TOLBRA; + char wk6[3]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TITM:1; + } BIT; + } TITMRA; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TRG4COR:3; + } BIT; + } TITCR2A; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TRG4CNT:3; + } BIT; + } TITCNT2A; + char wk7[35]; + union { + unsigned char BYTE; + struct { + unsigned char CCE:1; + unsigned char :5; + unsigned char SCC:1; + unsigned char WRE:1; + } BIT; + } TWCRA; + char wk8[15]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DRS:1; + } BIT; + } TMDR2A; + char wk9[15]; + union { + unsigned char BYTE; + struct { + unsigned char CST4:1; + unsigned char CST3:1; + unsigned char :2; + unsigned char CST8:1; + unsigned char CST2:1; + unsigned char CST1:1; + unsigned char CST0:1; + } BIT; + } TSTRA; + union { + unsigned char BYTE; + struct { + unsigned char SYNC4:1; + unsigned char SYNC3:1; + unsigned char :3; + unsigned char SYNC2:1; + unsigned char SYNC1:1; + unsigned char SYNC0:1; + } BIT; + } TSYRA; + union { + unsigned char BYTE; + struct { + unsigned char SCH0:1; + unsigned char SCH1:1; + unsigned char SCH2:1; + unsigned char SCH3:1; + unsigned char SCH4:1; + unsigned char :1; + unsigned char SCH6:1; + unsigned char SCH7:1; + } BIT; + } TCSYSTR; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char RWE:1; + } BIT; + } TRWERA; + char wk11[1925]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char OE7D:1; + unsigned char OE7C:1; + unsigned char OE6D:1; + unsigned char OE7B:1; + unsigned char OE7A:1; + unsigned char OE6B:1; + } BIT; + } TOERB; + char wk12[3]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PSYE:1; + unsigned char :2; + unsigned char TOCL:1; + unsigned char TOCS:1; + unsigned char OLSN:1; + unsigned char OLSP:1; + } BIT; + } TOCR1B; + union { + unsigned char BYTE; + struct { + unsigned char BF:2; + unsigned char OLS3N:1; + unsigned char OLS3P:1; + unsigned char OLS2N:1; + unsigned char OLS2P:1; + unsigned char OLS1N:1; + unsigned char OLS1P:1; + } BIT; + } TOCR2B; + char wk13[4]; + unsigned short TCDRB; + unsigned short TDDRB; + char wk14[8]; + unsigned short TCNTSB; + unsigned short TCBRB; + char wk15[12]; + union { + unsigned char BYTE; + struct { + unsigned char T6AEN:1; + unsigned char T6ACOR:3; + unsigned char T7VEN:1; + unsigned char T7VCOR:3; + } BIT; + } TITCR1B; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char T6ACNT:3; + unsigned char :1; + unsigned char T7VCNT:3; + } BIT; + } TITCNT1B; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char BTE:2; + } BIT; + } TBTERB; + char wk16[1]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TDER:1; + } BIT; + } TDERB; + char wk17[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char OLS3N:1; + unsigned char OLS3P:1; + unsigned char OLS2N:1; + unsigned char OLS2P:1; + unsigned char OLS1N:1; + unsigned char OLS1P:1; + } BIT; + } TOLBRB; + char wk18[3]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TITM:1; + } BIT; + } TITMRB; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TRG7COR:3; + } BIT; + } TITCR2B; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TRG7CNT:3; + } BIT; + } TITCNT2B; + char wk19[35]; + union { + unsigned char BYTE; + struct { + unsigned char CCE:1; + unsigned char :5; + unsigned char SCC:1; + unsigned char WRE:1; + } BIT; + } TWCRB; + char wk20[15]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DRS:1; + } BIT; + } TMDR2B; + char wk21[15]; + union { + unsigned char BYTE; + struct { + unsigned char CST7:1; + unsigned char CST6:1; + } BIT; + } TSTRB; + union { + unsigned char BYTE; + struct { + unsigned char SYNC7:1; + unsigned char SYNC6:1; + } BIT; + } TSYRB; + char wk22[2]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char RWE:1; + } BIT; + } TRWERB; +}; + +struct st_mtu0 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR0; + char wk0[8]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCRC; + char wk1[102]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char BFE:1; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR1; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + unsigned short TGRC; + unsigned short TGRD; + char wk2[16]; + unsigned short TGRE; + unsigned short TGRF; + union { + unsigned char BYTE; + struct { + unsigned char TTGE2:1; + unsigned char :5; + unsigned char TGIEF:1; + unsigned char TGIEE:1; + } BIT; + } TIER2; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TGFF:1; + unsigned char TGFE:1; + } BIT; + } TSR2; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TTSE:1; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TPSC2:3; + } BIT; + } TCR2; +}; + +struct st_mtu1 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR1; + char wk1[238]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char CCLR:2; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char MD:4; + } BIT; + } TMDR1; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char :2; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :1; + unsigned char TCFU:1; + unsigned char TCFV:1; + unsigned char :2; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + char wk3[4]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char I2BE:1; + unsigned char I2AE:1; + unsigned char I1BE:1; + unsigned char I1AE:1; + } BIT; + } TICCR; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char PHCKSEL:1; + unsigned char LWA:1; + } BIT; + } TMDR3; + char wk4[2]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PCB:2; + unsigned char TPSC2:3; + } BIT; + } TCR2; + char wk5[11]; + unsigned long TCNTLW; + unsigned long TGRALW; + unsigned long TGRBLW; +}; + +struct st_mtu2 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR2; + char wk0[365]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char CCLR:2; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char MD:4; + } BIT; + } TMDR1; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char :2; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :1; + unsigned char TCFU:1; + unsigned char TCFV:1; + unsigned char :2; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PCB:2; + unsigned char TPSC2:3; + } BIT; + } TCR2; +}; + +struct st_mtu3 { + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR1; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + char wk3[7]; + unsigned short TCNT; + char wk4[6]; + unsigned short TGRA; + unsigned short TGRB; + char wk5[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk6[4]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :2; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + char wk7[11]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk8[19]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TPSC2:3; + } BIT; + } TCR2; + char wk9[37]; + unsigned short TGRE; + char wk10[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR3; +}; + +struct st_mtu4 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR1; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char TTGE2:1; + unsigned char :1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + char wk4[8]; + unsigned short TCNT; + char wk5[8]; + unsigned short TGRA; + unsigned short TGRB; + char wk6[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :2; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + char wk8[11]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk9[6]; + union { + unsigned short WORD; + struct { + unsigned short BF:2; + unsigned short :6; + unsigned short UT4AE:1; + unsigned short DT4AE:1; + unsigned short UT4BE:1; + unsigned short DT4BE:1; + unsigned short ITA3AE:1; + unsigned short ITA4VE:1; + unsigned short ITB3AE:1; + unsigned short ITB4VE:1; + } BIT; + } TADCR; + char wk10[2]; + unsigned short TADCORA; + unsigned short TADCORB; + unsigned short TADCOBRA; + unsigned short TADCOBRB; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TPSC2:3; + } BIT; + } TCR2; + char wk12[38]; + unsigned short TGRE; + unsigned short TGRF; + char wk13[28]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR4; +}; + +struct st_mtu5 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char :1; + unsigned char NFWEN:1; + unsigned char NFVEN:1; + unsigned char NFUEN:1; + } BIT; + } NFCR5; + char wk1[2538]; + unsigned short TCNTU; + unsigned short TGRU; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRU; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char CKEG:2; + unsigned char TPSC2:3; + } BIT; + } TCR2U; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORU; + char wk2[9]; + unsigned short TCNTV; + unsigned short TGRV; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRV; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char CKEG:2; + unsigned char TPSC2:3; + } BIT; + } TCR2V; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORV; + char wk3[9]; + unsigned short TCNTW; + unsigned short TGRW; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TPSC:2; + } BIT; + } TCRW; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char CKEG:2; + unsigned char TPSC2:3; + } BIT; + } TCR2W; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char IOC:5; + } BIT; + } TIORW; + char wk4[9]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char CMFU5:1; + unsigned char CMFV5:1; + unsigned char CMFW5:1; + } BIT; + } TSR; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TGIE5U:1; + unsigned char TGIE5V:1; + unsigned char TGIE5W:1; + } BIT; + } TIER; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char CSTU5:1; + unsigned char CSTV5:1; + unsigned char CSTW5:1; + } BIT; + } TSTR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char CMPCLR5U:1; + unsigned char CMPCLR5V:1; + unsigned char CMPCLR5W:1; + } BIT; + } TCNTCMPCLR; +}; + +struct st_mtu6 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR6; + char wk1[1884]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR1; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + char wk4[2]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + char wk5[7]; + unsigned short TCNT; + char wk6[6]; + unsigned short TGRA; + unsigned short TGRB; + char wk7[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk8[4]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :2; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + char wk9[11]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk10[19]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TPSC2:3; + } BIT; + } TCR2; + char wk11[3]; + union { + unsigned char BYTE; + struct { + unsigned char CE0A:1; + unsigned char CE0B:1; + unsigned char CE0C:1; + unsigned char CE0D:1; + unsigned char CE1A:1; + unsigned char CE1B:1; + unsigned char CE2A:1; + unsigned char CE2B:1; + } BIT; + } TSYCR; + char wk12[33]; + unsigned short TGRE; +}; + +struct st_mtu7 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR7; + char wk0[1884]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR1; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char TTGE2:1; + unsigned char :1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + char wk4[8]; + unsigned short TCNT; + char wk5[8]; + unsigned short TGRA; + unsigned short TGRB; + char wk6[8]; + unsigned short TGRC; + unsigned short TGRD; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :2; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + char wk8[11]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char TTSB:1; + unsigned char TTSA:1; + } BIT; + } TBTM; + char wk9[6]; + union { + unsigned short WORD; + struct { + unsigned short BF:2; + unsigned short :6; + unsigned short UT7AE:1; + unsigned short DT7AE:1; + unsigned short UT7BE:1; + unsigned short DT7BE:1; + unsigned short ITA6AE:1; + unsigned short ITA7VE:1; + unsigned short ITB6AE:1; + unsigned short ITB7VE:1; + } BIT; + } TADCR; + char wk10[2]; + unsigned short TADCORA; + unsigned short TADCORB; + unsigned short TADCOBRA; + unsigned short TADCOBRB; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char TPSC2:3; + } BIT; + } TCR2; + char wk12[38]; + unsigned short TGRE; + unsigned short TGRF; +}; + +struct st_mtu8 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR8; + char wk0[871]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR1; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char PCB:2; + unsigned char TPSC2:3; + } BIT; + } TCR2; + char wk1[1]; + unsigned long TCNT; + unsigned long TGRA; + unsigned long TGRB; + unsigned long TGRC; + unsigned long TGRD; +}; + +struct st_pdc { + union { + unsigned long LONG; + struct { + unsigned long :17; + unsigned long EDS:1; + unsigned long PCKDIV:3; + unsigned long PCKOE:1; + unsigned long HERIE:1; + unsigned long VERIE:1; + unsigned long UDRIE:1; + unsigned long OVIE:1; + unsigned long FEIE:1; + unsigned long DFIE:1; + unsigned long PRST:1; + unsigned long HPS:1; + unsigned long VPS:1; + unsigned long PCKE:1; + } BIT; + } PCCR0; + union { + unsigned long LONG; + struct { + unsigned long :31; + unsigned long PCE:1; + } BIT; + } PCCR1; + union { + unsigned long LONG; + struct { + unsigned long :25; + unsigned long HERF:1; + unsigned long VERF:1; + unsigned long UDRF:1; + unsigned long OVRF:1; + unsigned long FEF:1; + unsigned long FEMPF:1; + unsigned long FBSY:1; + } BIT; + } PCSR; + union { + unsigned long LONG; + struct { + unsigned long :30; + unsigned long HSYNC:1; + unsigned long VSYNC:1; + } BIT; + } PCMONR; + union { + unsigned long LONG; + struct { + unsigned long B31:1; + unsigned long B30:1; + unsigned long B29:1; + unsigned long B28:1; + unsigned long B27:1; + unsigned long B26:1; + unsigned long B25:1; + unsigned long B24:1; + unsigned long B23:1; + unsigned long B22:1; + unsigned long B21:1; + unsigned long B20:1; + unsigned long B19:1; + unsigned long B18:1; + unsigned long B17:1; + unsigned long B16:1; + unsigned long B15:1; + unsigned long B14:1; + unsigned long B13:1; + unsigned long B12:1; + unsigned long B11:1; + unsigned long B10:1; + unsigned long B9:1; + unsigned long B8:1; + unsigned long B7:1; + unsigned long B6:1; + unsigned long B5:1; + unsigned long B4:1; + unsigned long B3:1; + unsigned long B2:1; + unsigned long B1:1; + unsigned long B0:1; + } BIT; + } PCDR; + union { + unsigned long LONG; + struct { + unsigned long :4; + unsigned long VSZ:12; + unsigned long :4; + unsigned long VST:12; + } BIT; + } VCR; + union { + unsigned long LONG; + struct { + unsigned long :4; + unsigned long HSZ:12; + unsigned long :4; + unsigned long HST:12; + } BIT; + } HCR; +}; + +struct st_poe { + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char POE0F:1; + unsigned char :3; + unsigned char PIE1:1; + unsigned char :6; + unsigned char POE0M:2; + } BIT; + } ICSR1; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char OSF1:1; + unsigned char :5; + unsigned char OCE1:1; + unsigned char OIE1:1; + } BIT; + } OCSR1; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char POE4F:1; + unsigned char :3; + unsigned char PIE2:1; + unsigned char :6; + unsigned char POE4M:2; + } BIT; + } ICSR2; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char OSF2:1; + unsigned char :5; + unsigned char OCE2:1; + unsigned char OIE2:1; + } BIT; + } OCSR2; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char POE8F:1; + unsigned char :2; + unsigned char POE8E:1; + unsigned char PIE3:1; + unsigned char :6; + unsigned char POE8M:2; + } BIT; + } ICSR3; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char GPT23HIZ:1; + unsigned char GPT01HIZ:1; + unsigned char MTUCH0HIZ:1; + unsigned char MTUCH67HIZ:1; + unsigned char MTUCH34HIZ:1; + } BIT; + } SPOER; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char MTU0DZE:1; + unsigned char MTU0CZE:1; + unsigned char MTU0BZE:1; + unsigned char MTU0AZE:1; + } BIT; + } POECR1; + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short MTU3BDZE:1; + unsigned short MTU4ACZE:1; + unsigned short MTU4BDZE:1; + unsigned short :5; + unsigned short MTU6BDZE:1; + unsigned short MTU7ACZE:1; + unsigned short MTU7BDZE:1; + } BIT; + } POECR2; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short GPT3ABZE:1; + unsigned short GPT2ABZE:1; + unsigned short :6; + unsigned short GPT1ABZE:1; + unsigned short GPT0ABZE:1; + } BIT; + } POECR3; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short IC5ADDMT67ZE:1; + unsigned short IC4ADDMT67ZE:1; + unsigned short IC3ADDMT67ZE:1; + unsigned short :1; + unsigned short IC1ADDMT67ZE:1; + unsigned short :3; + unsigned short IC5ADDMT34ZE:1; + unsigned short IC4ADDMT34ZE:1; + unsigned short IC3ADDMT34ZE:1; + unsigned short IC2ADDMT34ZE:1; + } BIT; + } POECR4; + union { + unsigned short WORD; + struct { + unsigned short :10; + unsigned short IC5ADDMT0ZE:1; + unsigned short IC4ADDMT0ZE:1; + unsigned short :1; + unsigned short IC2ADDMT0ZE:1; + unsigned short IC1ADDMT0ZE:1; + } BIT; + } POECR5; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short IC4ADDGPT23ZE:1; + unsigned short IC3ADDGPT23ZE:1; + unsigned short IC2ADDGPT23Z:1; + unsigned short IC1ADDGPT23ZE:1; + unsigned short :3; + unsigned short IC5ADDGPT01ZE:1; + unsigned short :1; + unsigned short IC3ADDGPT01ZE:1; + unsigned short IC2ADDGPT01Z:1; + unsigned short IC1ADDGPT01ZE:1; + } BIT; + } POECR6; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char POE10F:1; + unsigned char :2; + unsigned char POE10E:1; + unsigned char PIE4:1; + unsigned char :6; + unsigned char POE10M:2; + } BIT; + } ICSR4; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char POE11F:1; + unsigned char :2; + unsigned char POE11E:1; + unsigned char PIE5:1; + unsigned char :6; + unsigned char POE11M:2; + } BIT; + } ICSR5; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :8; + unsigned char OLSEN:1; + unsigned char :1; + unsigned char OLSG2B:1; + unsigned char OLSG2A:1; + unsigned char OLSG1B:1; + unsigned char OLSG1A:1; + unsigned char OLSG0B:1; + unsigned char OLSG0A:1; + } BIT; + } ALR1; + union { + unsigned short WORD; + struct { + unsigned char H; + unsigned char L; + } BYTE; + struct { + unsigned char :3; + unsigned char OSTSTF:1; + unsigned char :2; + unsigned char OSTSTE:1; + } BIT; + } ICSR6; + char wk0[2]; + union { + unsigned char BYTE; + struct { + unsigned char G0BSEL:4; + unsigned char G0ASEL:4; + } BIT; + } G0SELR; + union { + unsigned char BYTE; + struct { + unsigned char G1BSEL:4; + unsigned char G1ASEL:4; + } BIT; + } G1SELR; + union { + unsigned char BYTE; + struct { + unsigned char G2BSEL:4; + unsigned char G2ASEL:4; + } BIT; + } G2SELR; + union { + unsigned char BYTE; + struct { + unsigned char G3BSEL:4; + unsigned char G3ASEL:4; + } BIT; + } G3SELR; + union { + unsigned char BYTE; + struct { + unsigned char M0BSEL:4; + unsigned char M0ASEL:4; + } BIT; + } M0SELR1; + union { + unsigned char BYTE; + struct { + unsigned char M0DSEL:4; + unsigned char M0CSEL:4; + } BIT; + } M0SELR2; + union { + unsigned char BYTE; + struct { + unsigned char M3DSEL:4; + unsigned char M3BSEL:4; + } BIT; + } M3SELR; + union { + unsigned char BYTE; + struct { + unsigned char M4CSEL:4; + unsigned char M4ASEL:4; + } BIT; + } M4SELR1; + union { + unsigned char BYTE; + struct { + unsigned char M4DSEL:4; + unsigned char M4BSEL:4; + } BIT; + } M4SELR2; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char M4G2SEL:1; + unsigned char M4G1SEL:1; + unsigned char M4G0SEL:1; + } BIT; + } MGSELR; +}; + +struct st_port0 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char :1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char :1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char :1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char :1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :3; + unsigned char B2:1; + } BIT; + } ODR1; + char wk4[62]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char :1; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; + char wk5[31]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } DSCR; +}; + +struct st_port1 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[32]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[61]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_port2 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[33]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[60]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; + char wk5[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + } BIT; + } DSCR; +}; + +struct st_port3 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[34]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[59]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_port4 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[35]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[58]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_port5 { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[36]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[57]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; + char wk5[31]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :3; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } DSCR; +}; + +struct st_port6 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[37]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[56]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_port7 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[38]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[55]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_port8 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char :2; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char :2; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char :2; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char :2; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[39]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[54]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char :2; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_port9 { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[40]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[53]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; + char wk5[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } DSCR; +}; + +struct st_porta { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[41]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[52]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; + char wk5[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } DSCR; +}; + +struct st_portb { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[42]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[51]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; + char wk5[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } DSCR; +}; + +struct st_portc { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[43]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[50]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; + char wk5[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } DSCR; +}; + +struct st_portd { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[44]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[49]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; + char wk5[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } DSCR; +}; + +struct st_porte { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[45]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[48]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; + char wk5[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } DSCR; +}; + +struct st_portf { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[46]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[47]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; +}; + +struct st_portg { + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PMR; + char wk3[47]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + unsigned char :1; + unsigned char B4:1; + unsigned char :1; + unsigned char B2:1; + unsigned char :1; + unsigned char B0:1; + } BIT; + } ODR1; + char wk4[46]; + union { + unsigned char BYTE; + struct { + unsigned char B7:1; + unsigned char B6:1; + unsigned char B5:1; + unsigned char B4:1; + unsigned char B3:1; + unsigned char B2:1; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } PCR; + char wk5[31]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char B1:1; + unsigned char B0:1; + } BIT; + } DSCR; +}; + +struct st_portj { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PDR; + char wk0[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PODR; + char wk1[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PIDR; + char wk2[31]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PMR; + char wk3[49]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char B6:1; + } BIT; + } ODR0; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char B2:1; + } BIT; + } ODR1; + char wk4[44]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char B5:1; + unsigned char :1; + unsigned char B3:1; + } BIT; + } PCR; +}; + +struct st_ppg0 { + union { + unsigned char BYTE; + struct { + unsigned char G3CMS:2; + unsigned char G2CMS:2; + unsigned char G1CMS:2; + unsigned char G0CMS:2; + } BIT; + } PCR; + union { + unsigned char BYTE; + struct { + unsigned char G3INV:1; + unsigned char G2INV:1; + unsigned char G1INV:1; + unsigned char G0INV:1; + unsigned char G3NOV:1; + unsigned char G2NOV:1; + unsigned char G1NOV:1; + unsigned char G0NOV:1; + } BIT; + } PMR; + union { + unsigned char BYTE; + struct { + unsigned char NDER15:1; + unsigned char NDER14:1; + unsigned char NDER13:1; + unsigned char NDER12:1; + unsigned char NDER11:1; + unsigned char NDER10:1; + unsigned char NDER9:1; + unsigned char NDER8:1; + } BIT; + } NDERH; + union { + unsigned char BYTE; + struct { + unsigned char NDER7:1; + unsigned char NDER6:1; + unsigned char NDER5:1; + unsigned char NDER4:1; + unsigned char NDER3:1; + unsigned char NDER2:1; + unsigned char NDER1:1; + unsigned char NDER0:1; + } BIT; + } NDERL; + union { + unsigned char BYTE; + struct { + unsigned char POD15:1; + unsigned char POD14:1; + unsigned char POD13:1; + unsigned char POD12:1; + unsigned char POD11:1; + unsigned char POD10:1; + unsigned char POD9:1; + unsigned char POD8:1; + } BIT; + } PODRH; + union { + unsigned char BYTE; + struct { + unsigned char POD7:1; + unsigned char POD6:1; + unsigned char POD5:1; + unsigned char POD4:1; + unsigned char POD3:1; + unsigned char POD2:1; + unsigned char POD1:1; + unsigned char POD0:1; + } BIT; + } PODRL; + union { + unsigned char BYTE; + struct { + unsigned char NDR15:1; + unsigned char NDR14:1; + unsigned char NDR13:1; + unsigned char NDR12:1; + unsigned char NDR11:1; + unsigned char NDR10:1; + unsigned char NDR9:1; + unsigned char NDR8:1; + } BIT; + } NDRH; + union { + unsigned char BYTE; + struct { + unsigned char NDR7:1; + unsigned char NDR6:1; + unsigned char NDR5:1; + unsigned char NDR4:1; + unsigned char NDR3:1; + unsigned char NDR2:1; + unsigned char NDR1:1; + unsigned char NDR0:1; + } BIT; + } NDRL; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char NDR11:1; + unsigned char NDR10:1; + unsigned char NDR9:1; + unsigned char NDR8:1; + } BIT; + } NDRH2; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char NDR3:1; + unsigned char NDR2:1; + unsigned char NDR1:1; + unsigned char NDR0:1; + } BIT; + } NDRL2; +}; + +struct st_ppg1 { + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char PTRSL:1; + } BIT; + } PTRSLR; + char wk0[5]; + union { + unsigned char BYTE; + struct { + unsigned char G3CMS:2; + unsigned char G2CMS:2; + unsigned char G1CMS:2; + unsigned char G0CMS:2; + } BIT; + } PCR; + union { + unsigned char BYTE; + struct { + unsigned char G3INV:1; + unsigned char G2INV:1; + unsigned char G1INV:1; + unsigned char G0INV:1; + unsigned char G3NOV:1; + unsigned char G2NOV:1; + unsigned char G1NOV:1; + unsigned char G0NOV:1; + } BIT; + } PMR; + union { + unsigned char BYTE; + struct { + unsigned char NDER31:1; + unsigned char NDER30:1; + unsigned char NDER29:1; + unsigned char NDER28:1; + unsigned char NDER27:1; + unsigned char NDER26:1; + unsigned char NDER25:1; + unsigned char NDER24:1; + } BIT; + } NDERH; + union { + unsigned char BYTE; + struct { + unsigned char NDER23:1; + unsigned char NDER22:1; + unsigned char NDER21:1; + unsigned char NDER20:1; + unsigned char NDER19:1; + unsigned char NDER18:1; + unsigned char NDER17:1; + unsigned char NDER16:1; + } BIT; + } NDERL; + union { + unsigned char BYTE; + struct { + unsigned char POD31:1; + unsigned char POD30:1; + unsigned char POD29:1; + unsigned char POD28:1; + unsigned char POD27:1; + unsigned char POD26:1; + unsigned char POD25:1; + unsigned char POD24:1; + } BIT; + } PODRH; + union { + unsigned char BYTE; + struct { + unsigned char POD23:1; + unsigned char POD22:1; + unsigned char POD21:1; + unsigned char POD20:1; + unsigned char POD19:1; + unsigned char POD18:1; + unsigned char POD17:1; + unsigned char POD16:1; + } BIT; + } PODRL; + union { + unsigned char BYTE; + struct { + unsigned char NDR31:1; + unsigned char NDR30:1; + unsigned char NDR29:1; + unsigned char NDR28:1; + unsigned char NDR27:1; + unsigned char NDR26:1; + unsigned char NDR25:1; + unsigned char NDR24:1; + } BIT; + } NDRH; + union { + unsigned char BYTE; + struct { + unsigned char NDR23:1; + unsigned char NDR22:1; + unsigned char NDR21:1; + unsigned char NDR20:1; + unsigned char NDR19:1; + unsigned char NDR18:1; + unsigned char NDR17:1; + unsigned char NDR16:1; + } BIT; + } NDRL; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char NDR27:1; + unsigned char NDR26:1; + unsigned char NDR25:1; + unsigned char NDR24:1; + } BIT; + } NDRH2; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char NDR19:1; + unsigned char NDR18:1; + unsigned char NDR17:1; + unsigned char NDR16:1; + } BIT; + } NDRL2; +}; + +struct st_qspi { + union { + unsigned char BYTE; + struct { + unsigned char SPRIE:1; + unsigned char SPE:1; + unsigned char SPTIE:1; + unsigned char :3; + unsigned char SPSSLIE:1; + } BIT; + } SPCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SSLP:1; + } BIT; + } SSLP; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char MOIFE:1; + unsigned char MOIFV:1; + unsigned char :1; + unsigned char IO3FV:1; + unsigned char IO2FV:1; + unsigned char SPLP:1; + } BIT; + } SPPCR; + union { + unsigned char BYTE; + struct { + unsigned char SPRFF:1; + unsigned char TREND:1; + unsigned char SPTEF:1; + unsigned char SPSSLF:1; + } BIT; + } SPSR; + union { + unsigned long LONG; + struct { + unsigned long SPD31:1; + unsigned long SPD30:1; + unsigned long SPD29:1; + unsigned long SPD28:1; + unsigned long SPD27:1; + unsigned long SPD26:1; + unsigned long SPD25:1; + unsigned long SPD24:1; + unsigned long SPD23:1; + unsigned long SPD22:1; + unsigned long SPD21:1; + unsigned long SPD20:1; + unsigned long SPD19:1; + unsigned long SPD18:1; + unsigned long SPD17:1; + unsigned long SPD16:1; + unsigned long SPD15:1; + unsigned long SPD14:1; + unsigned long SPD13:1; + unsigned long SPD12:1; + unsigned long SPD11:1; + unsigned long SPD10:1; + unsigned long SPD9:1; + unsigned long SPD8:1; + unsigned long SPD7:1; + unsigned long SPD6:1; + unsigned long SPD5:1; + unsigned long SPD4:1; + unsigned long SPD3:1; + unsigned long SPD2:1; + unsigned long SPD1:1; + unsigned long SPD0:1; + } BIT; + } SPDR; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char SPSC:2; + } BIT; + } SPSCR; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char SPSS:2; + } BIT; + } SPSSR; + union { + unsigned char BYTE; + struct { + unsigned char SPBR7:1; + unsigned char SPBR6:1; + unsigned char SPBR5:1; + unsigned char SPBR4:1; + unsigned char SPBR3:1; + unsigned char SPBR2:1; + unsigned char SPBR1:1; + unsigned char SPBR0:1; + } BIT; + } SPBR; + union { + unsigned char BYTE; + struct { + unsigned char TXDMY:1; + } BIT; + } SPDCR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SCKDL:3; + } BIT; + } SPCKD; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SLNDL:3; + } BIT; + } SSLND; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SPNDL:3; + } BIT; + } SPND; + char wk0[1]; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SPIMOD:2; + unsigned short SPRW:1; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD0; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SPIMOD:2; + unsigned short SPRW:1; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD1; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SPIMOD:2; + unsigned short SPRW:1; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD2; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SPIMOD:2; + unsigned short SPRW:1; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD3; + union { + unsigned char BYTE; + struct { + unsigned char TXRST:1; + unsigned char RXRST:1; + unsigned char TXTRG:2; + unsigned char TXTRGEX:1; + unsigned char RXTRG:3; + } BIT; + } SPBFCR; + char wk1[1]; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short TXBC:6; + unsigned short :2; + unsigned short RXBC:6; + } BIT; + } SPBDCR; + union { + unsigned long LONG; + } SPBMUL0; + union { + unsigned long LONG; + } SPBMUL1; + union { + unsigned long LONG; + } SPBMUL2; + union { + unsigned long LONG; + } SPBMUL3; +}; + +struct st_riic0 { + union { + unsigned char BYTE; + struct { + unsigned char ICE:1; + unsigned char IICRST:1; + unsigned char CLO:1; + unsigned char SOWP:1; + unsigned char SCLO:1; + unsigned char SDAO:1; + unsigned char SCLI:1; + unsigned char SDAI:1; + } BIT; + } ICCR1; + union { + unsigned char BYTE; + struct { + unsigned char BBSY:1; + unsigned char MST:1; + unsigned char TRS:1; + unsigned char :1; + unsigned char SP:1; + unsigned char RS:1; + unsigned char ST:1; + } BIT; + } ICCR2; + union { + unsigned char BYTE; + struct { + unsigned char MTWP:1; + unsigned char CKS:3; + unsigned char BCWP:1; + unsigned char BC:3; + } BIT; + } ICMR1; + union { + unsigned char BYTE; + struct { + unsigned char DLCS:1; + unsigned char SDDL:3; + unsigned char :1; + unsigned char TMOH:1; + unsigned char TMOL:1; + unsigned char TMOS:1; + } BIT; + } ICMR2; + union { + unsigned char BYTE; + struct { + unsigned char SMBS:1; + unsigned char WAIT:1; + unsigned char RDRFS:1; + unsigned char ACKWP:1; + unsigned char ACKBT:1; + unsigned char ACKBR:1; + unsigned char NF:2; + } BIT; + } ICMR3; + union { + unsigned char BYTE; + struct { + unsigned char FMPE:1; + unsigned char SCLE:1; + unsigned char NFE:1; + unsigned char NACKE:1; + unsigned char SALE:1; + unsigned char NALE:1; + unsigned char MALE:1; + unsigned char TMOE:1; + } BIT; + } ICFER; + union { + unsigned char BYTE; + struct { + unsigned char HOAE:1; + unsigned char :1; + unsigned char DIDE:1; + unsigned char :1; + unsigned char GCAE:1; + unsigned char SAR2E:1; + unsigned char SAR1E:1; + unsigned char SAR0E:1; + } BIT; + } ICSER; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char TEIE:1; + unsigned char RIE:1; + unsigned char NAKIE:1; + unsigned char SPIE:1; + unsigned char STIE:1; + unsigned char ALIE:1; + unsigned char TMOIE:1; + } BIT; + } ICIER; + union { + unsigned char BYTE; + struct { + unsigned char HOA:1; + unsigned char :1; + unsigned char DID:1; + unsigned char :1; + unsigned char GCA:1; + unsigned char AAS2:1; + unsigned char AAS1:1; + unsigned char AAS0:1; + } BIT; + } ICSR1; + union { + unsigned char BYTE; + struct { + unsigned char TDRE:1; + unsigned char TEND:1; + unsigned char RDRF:1; + unsigned char NACKF:1; + unsigned char STOP:1; + unsigned char START:1; + unsigned char AL:1; + unsigned char TMOF:1; + } BIT; + } ICSR2; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL0; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU0; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL1; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU1; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL2; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU2; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char BRL:5; + } BIT; + } ICBRL; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char BRH:5; + } BIT; + } ICBRH; + unsigned char ICDRT; + unsigned char ICDRR; +}; + +struct st_riic2 { + union { + unsigned char BYTE; + struct { + unsigned char ICE:1; + unsigned char IICRST:1; + unsigned char CLO:1; + unsigned char SOWP:1; + unsigned char SCLO:1; + unsigned char SDAO:1; + unsigned char SCLI:1; + unsigned char SDAI:1; + } BIT; + } ICCR1; + union { + unsigned char BYTE; + struct { + unsigned char BBSY:1; + unsigned char MST:1; + unsigned char TRS:1; + unsigned char :1; + unsigned char SP:1; + unsigned char RS:1; + unsigned char ST:1; + } BIT; + } ICCR2; + union { + unsigned char BYTE; + struct { + unsigned char MTWP:1; + unsigned char CKS:3; + unsigned char BCWP:1; + unsigned char BC:3; + } BIT; + } ICMR1; + union { + unsigned char BYTE; + struct { + unsigned char DLCS:1; + unsigned char SDDL:3; + unsigned char :1; + unsigned char TMOH:1; + unsigned char TMOL:1; + unsigned char TMOS:1; + } BIT; + } ICMR2; + union { + unsigned char BYTE; + struct { + unsigned char SMBS:1; + unsigned char WAIT:1; + unsigned char RDRFS:1; + unsigned char ACKWP:1; + unsigned char ACKBT:1; + unsigned char ACKBR:1; + unsigned char NF:2; + } BIT; + } ICMR3; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SCLE:1; + unsigned char NFE:1; + unsigned char NACKE:1; + unsigned char SALE:1; + unsigned char NALE:1; + unsigned char MALE:1; + unsigned char TMOE:1; + } BIT; + } ICFER; + union { + unsigned char BYTE; + struct { + unsigned char HOAE:1; + unsigned char :1; + unsigned char DIDE:1; + unsigned char :1; + unsigned char GCAE:1; + unsigned char SAR2E:1; + unsigned char SAR1E:1; + unsigned char SAR0E:1; + } BIT; + } ICSER; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char TEIE:1; + unsigned char RIE:1; + unsigned char NAKIE:1; + unsigned char SPIE:1; + unsigned char STIE:1; + unsigned char ALIE:1; + unsigned char TMOIE:1; + } BIT; + } ICIER; + union { + unsigned char BYTE; + struct { + unsigned char HOA:1; + unsigned char :1; + unsigned char DID:1; + unsigned char :1; + unsigned char GCA:1; + unsigned char AAS2:1; + unsigned char AAS1:1; + unsigned char AAS0:1; + } BIT; + } ICSR1; + union { + unsigned char BYTE; + struct { + unsigned char TDRE:1; + unsigned char TEND:1; + unsigned char RDRF:1; + unsigned char NACKF:1; + unsigned char STOP:1; + unsigned char START:1; + unsigned char AL:1; + unsigned char TMOF:1; + } BIT; + } ICSR2; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL0; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU0; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL1; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU1; + union { + unsigned char BYTE; + struct { + unsigned char SVA:7; + unsigned char SVA0:1; + } BIT; + } SARL2; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SVA:2; + unsigned char FS:1; + } BIT; + } SARU2; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char BRL:5; + } BIT; + } ICBRL; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char BRH:5; + } BIT; + } ICBRH; + unsigned char ICDRT; + unsigned char ICDRR; +}; + +struct st_rspi0 { + union { + unsigned char BYTE; + struct { + unsigned char SPRIE:1; + unsigned char SPE:1; + unsigned char SPTIE:1; + unsigned char SPEIE:1; + unsigned char MSTR:1; + unsigned char MODFEN:1; + unsigned char TXMD:1; + unsigned char SPMS:1; + } BIT; + } SPCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char SSL3P:1; + unsigned char SSL2P:1; + unsigned char SSL1P:1; + unsigned char SSL0P:1; + } BIT; + } SSLP; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char MOIFE:1; + unsigned char MOIFV:1; + unsigned char :2; + unsigned char SPLP2:1; + unsigned char SPLP:1; + } BIT; + } SPPCR; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char PERF:1; + unsigned char MODF:1; + unsigned char IDLNF:1; + unsigned char OVRF:1; + } BIT; + } SPSR; + union { + unsigned long LONG; + struct { + unsigned short H; + } WORD; + } SPDR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SPSLN:3; + } BIT; + } SPSCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SPECM:3; + unsigned char :1; + unsigned char SPCP:3; + } BIT; + } SPSSR; + unsigned char SPBR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char SPLW:1; + unsigned char SPRDTD:1; + unsigned char :2; + unsigned char SPFC:2; + } BIT; + } SPDCR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SCKDL:3; + } BIT; + } SPCKD; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SLNDL:3; + } BIT; + } SSLND; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SPNDL:3; + } BIT; + } SPND; + union { + unsigned char BYTE; + struct { + unsigned char SPTDDL:3; + unsigned char SCKASE:1; + unsigned char PTE:1; + unsigned char SPIIE:1; + unsigned char SPOE:1; + unsigned char SPPE:1; + } BIT; + } SPCR2; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD0; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD1; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD2; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD3; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD4; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD5; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD6; + union { + unsigned short WORD; + struct { + unsigned short SCKDEN:1; + unsigned short SLNDEN:1; + unsigned short SPNDEN:1; + unsigned short LSBF:1; + unsigned short SPB:4; + unsigned short SSLKP:1; + unsigned short SSLA:3; + unsigned short BRDV:2; + unsigned short CPOL:1; + unsigned short CPHA:1; + } BIT; + } SPCMD7; +}; + +struct st_rtc { + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char F1HZ:1; + unsigned char F2HZ:1; + unsigned char F4HZ:1; + unsigned char F8HZ:1; + unsigned char F16HZ:1; + unsigned char F32HZ:1; + unsigned char F64HZ:1; + } BIT; + } R64CNT; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECCNT; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINCNT; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRCNT; + char wk3[1]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char DAYW:3; + } BIT; + } RWKCNT; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYCNT; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONCNT; + char wk6[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short YR10:4; + unsigned short YR1:4; + } BIT; + } RYRCNT; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECAR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINAR; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRAR; + char wk9[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :4; + unsigned char DAYW:3; + } BIT; + } RWKAR; + char wk10[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :1; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYAR; + char wk11[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + unsigned char :2; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONAR; + char wk12[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short YR10:4; + unsigned short YR1:4; + } BIT; + } RYRAR; + union { + unsigned char BYTE; + struct { + unsigned char ENB:1; + } BIT; + } RYRAREN; + char wk13[3]; + union { + unsigned char BYTE; + struct { + unsigned char PES:4; + unsigned char RTCOS:1; + unsigned char PIE:1; + unsigned char CIE:1; + unsigned char AIE:1; + } BIT; + } RCR1; + char wk14[1]; + union { + unsigned char BYTE; + struct { + unsigned char CNTMD:1; + unsigned char HR24:1; + unsigned char AADJP:1; + unsigned char AADJE:1; + unsigned char RTCOE:1; + unsigned char ADJ30:1; + unsigned char RESET:1; + unsigned char START:1; + } BIT; + } RCR2; + char wk15[1]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char RTCDV:3; + unsigned char RTCEN:1; + } BIT; + } RCR3; + char wk16[1]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char RCKSEL:1; + } BIT; + } RCR4; + char wk17[1]; + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short RFC:1; + } BIT; + } RFRH; + union { + unsigned short WORD; + struct { + unsigned short RFC:16; + } BIT; + } RFRL; + union { + unsigned char BYTE; + struct { + unsigned char PMADJ:2; + unsigned char ADJ:6; + } BIT; + } RADJ; + char wk18[17]; + union { + unsigned char BYTE; + struct { + unsigned char TCEN:1; + unsigned char :1; + unsigned char TCNF:2; + unsigned char :1; + unsigned char TCST:1; + unsigned char TCCT:2; + } BIT; + } RTCCR0; + char wk19[1]; + union { + unsigned char BYTE; + struct { + unsigned char TCEN:1; + unsigned char :1; + unsigned char TCNF:2; + unsigned char :1; + unsigned char TCST:1; + unsigned char TCCT:2; + } BIT; + } RTCCR1; + char wk20[1]; + union { + unsigned char BYTE; + struct { + unsigned char TCEN:1; + unsigned char :1; + unsigned char TCNF:2; + unsigned char :1; + unsigned char TCST:1; + unsigned char TCCT:2; + } BIT; + } RTCCR2; + char wk21[13]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECCP0; + char wk22[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINCP0; + char wk23[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRCP0; + char wk24[3]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYCP0; + char wk25[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONCP0; + char wk26[5]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECCP1; + char wk27[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINCP1; + char wk28[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRCP1; + char wk29[3]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYCP1; + char wk30[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONCP1; + char wk31[5]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char SEC10:3; + unsigned char SEC1:4; + } BIT; + } RSECCP2; + char wk32[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MIN10:3; + unsigned char MIN1:4; + } BIT; + } RMINCP2; + char wk33[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char PM:1; + unsigned char HR10:2; + unsigned char HR1:4; + } BIT; + } RHRCP2; + char wk34[3]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char DATE10:2; + unsigned char DATE1:4; + } BIT; + } RDAYCP2; + char wk35[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char MON10:1; + unsigned char MON1:4; + } BIT; + } RMONCP2; +}; + +struct st_rtcb { + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT0; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT1; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT2; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNT:8; + } BIT; + } BCNT3; + char wk3[7]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT0AR; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT1AR; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT2AR; + char wk6[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNTAR:8; + } BIT; + } BCNT3AR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT0AER; + char wk8[1]; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT1AER; + char wk9[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short ENB:8; + } BIT; + } BCNT2AER; + union { + unsigned char BYTE; + struct { + unsigned char ENB:8; + } BIT; + } BCNT3AER; + char wk10[5]; + union { + unsigned char BYTE; + struct { + unsigned char CNTMD:1; + unsigned char :1; + unsigned char AADJP:1; + unsigned char AADJE:1; + unsigned char RTCOE:1; + unsigned char :1; + unsigned char RESET:1; + unsigned char START:1; + } BIT; + } BRCR2; + char wk11[45]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP0:8; + } BIT; + } BCNT0CP0; + char wk12[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP0:8; + } BIT; + } BCNT1CP0; + char wk13[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP0:8; + } BIT; + } BCNT2CP0; + char wk14[3]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP0:8; + } BIT; + } BCNT3CP0; + char wk15[7]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP1:8; + } BIT; + } BCNT0CP1; + char wk16[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP1:8; + } BIT; + } BCNT1CP1; + char wk17[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP1:8; + } BIT; + } BCNT2CP1; + char wk18[3]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP1:8; + } BIT; + } BCNT3CP1; + char wk19[7]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP2:8; + } BIT; + } BCNT0CP2; + char wk20[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP2:8; + } BIT; + } BCNT1CP2; + char wk21[1]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP2:8; + } BIT; + } BCNT2CP2; + char wk22[3]; + union { + unsigned char BYTE; + struct { + unsigned char BCNCP2:8; + } BIT; + } BCNT3CP2; +}; + +struct st_s12ad { + union { + unsigned short WORD; + struct { + unsigned short ADST:1; + unsigned short ADCS:2; + unsigned short ADIE:1; + unsigned short :2; + unsigned short TRGE:1; + unsigned short EXTRG:1; + unsigned short DBLE:1; + unsigned short GBADIE:1; + unsigned short :1; + unsigned short DBLANS:5; + } BIT; + } ADCSR; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short ANSA0:16; + } BIT; + } ADANSA0; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short ADS0:16; + } BIT; + } ADADS0; + char wk2[2]; + union { + unsigned char BYTE; + struct { + unsigned char AVEE:1; + unsigned char :5; + unsigned char ADC:2; + } BIT; + } ADADC; + char wk3[1]; + union { + unsigned short WORD; + struct { + unsigned short ADRFMT:1; + unsigned short :3; + unsigned short DIAGM:1; + unsigned short DIAGLD:1; + unsigned short DIAGVAL:2; + unsigned short :2; + unsigned short ACE:1; + unsigned short :2; + unsigned short ADPRC:2; + } BIT; + } ADCER; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short TRSA:6; + unsigned short :2; + unsigned short TRSB:6; + } BIT; + } ADSTRGR; + union { + unsigned short WORD; + struct { + unsigned short EXOEN:1; + unsigned short EXSEL:2; + unsigned short :3; + unsigned short OCS:1; + unsigned short TSS:1; + unsigned short :6; + unsigned short OCSAD:1; + unsigned short TSSAD:1; + } BIT; + } ADEXICR; + union { + unsigned short WORD; + struct { + unsigned short ANSB0:16; + } BIT; + } ADANSB0; + char wk4[2]; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short AD:12; + } BIT; + } ADDBLDR; + char wk5[4]; + union { + unsigned short WORD; + union { + struct { + unsigned short DIAGST:2; + unsigned short :2; + unsigned short AD:12; + } RIGHT; + struct { + unsigned short AD:12; + unsigned short :2; + unsigned short DIAGST:2; + } LEFT; + } BIT; + } ADRD; + unsigned short ADDR0; + unsigned short ADDR1; + unsigned short ADDR2; + unsigned short ADDR3; + unsigned short ADDR4; + unsigned short ADDR5; + unsigned short ADDR6; + unsigned short ADDR7; + char wk6[48]; + unsigned char ADSSTR0; + unsigned char ADSSTRL; + char wk7[4]; + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short SHANS:3; + unsigned short SSTSH:8; + } BIT; + } ADSHCR; + char wk8[11]; + unsigned char ADSSTR1; + unsigned char ADSSTR2; + unsigned char ADSSTR3; + unsigned char ADSSTR4; + unsigned char ADSSTR5; + unsigned char ADSSTR6; + unsigned char ADSSTR7; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char ADNDIS:5; + } BIT; + } ADDISCR; + char wk9[5]; + union { + unsigned short WORD; + struct { + unsigned short GBRP:1; + unsigned short :13; + unsigned short GBRSCN:1; + unsigned short PGS:1; + } BIT; + } ADGSPCR; + char wk10[2]; + unsigned short ADDBLDRA; + unsigned short ADDBLDRB; + char wk11[8]; + union { + unsigned char BYTE; + struct { + unsigned char CMPIE:1; + unsigned char WCMPE:1; + } BIT; + } ADCMPCR; + char wk12[3]; + union { + unsigned short WORD; + struct { + unsigned short CMPS0:16; + } BIT; + } ADCMPANSR0; + char wk13[2]; + union { + unsigned short WORD; + struct { + unsigned short CMPL0:16; + } BIT; + } ADCMPLR0; + char wk14[2]; + unsigned short ADCMPDR0; + unsigned short ADCMPDR1; + union { + unsigned short WORD; + struct { + unsigned short CMPF0:16; + } BIT; + } ADCMPSR0; +}; + +struct st_s12ad1 { + union { + unsigned short WORD; + struct { + unsigned short ANSA0:16; + } BIT; + } ADANSA0; + union { + unsigned short WORD; + struct { + unsigned short :11; + unsigned short ANSA1:5; + } BIT; + } ADANSA1; + union { + unsigned short WORD; + struct { + unsigned short ADS0:16; + } BIT; + } ADADS0; + union { + unsigned short WORD; + struct { + unsigned short :11; + unsigned short ADS1:5; + } BIT; + } ADADS1; + union { + unsigned char BYTE; + struct { + unsigned char AVEE:1; + unsigned char :5; + unsigned char ADC:2; + } BIT; + } ADADC; + char wk0[1]; + union { + unsigned short WORD; + struct { + unsigned short ADRFMT:1; + unsigned short :3; + unsigned short DIAGM:1; + unsigned short DIAGLD:1; + unsigned short DIAGVAL:2; + unsigned short :2; + unsigned short ACE:1; + unsigned short :2; + unsigned short ADPRC:2; + } BIT; + } ADCER; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short TRSA:6; + unsigned short :2; + unsigned short TRSB:6; + } BIT; + } ADSTRGR; + union { + unsigned short WORD; + struct { + unsigned short EXOEN:1; + unsigned short EXSEL:2; + unsigned short :3; + unsigned short OCS:1; + unsigned short TSS:1; + unsigned short :6; + unsigned short OCSAD:1; + unsigned short TSSAD:1; + } BIT; + } ADEXICR; + union { + unsigned short WORD; + struct { + unsigned short ANSB0:16; + } BIT; + } ADANSB0; + union { + unsigned short WORD; + struct { + unsigned short :11; + unsigned short ANSB1:5; + } BIT; + } ADANSB1; + unsigned short ADDBLDR; + unsigned short ADTSDR; + unsigned short ADOCDR; + union { + unsigned short WORD; + union { + struct { + unsigned short DIAGST:2; + unsigned short :2; + unsigned short AD:12; + } RIGHT; + struct { + unsigned short AD:12; + unsigned short :2; + unsigned short DIAGST:2; + } LEFT; + } BIT; + } ADRD; + unsigned short ADDR0; + unsigned short ADDR1; + unsigned short ADDR2; + unsigned short ADDR3; + unsigned short ADDR4; + unsigned short ADDR5; + unsigned short ADDR6; + unsigned short ADDR7; + unsigned short ADDR8; + unsigned short ADDR9; + unsigned short ADDR10; + unsigned short ADDR11; + unsigned short ADDR12; + unsigned short ADDR13; + unsigned short ADDR14; + unsigned short ADDR15; + unsigned short ADDR16; + unsigned short ADDR17; + unsigned short ADDR18; + unsigned short ADDR19; + unsigned short ADDR20; + char wk1[22]; + unsigned char ADSSTR0; + unsigned char ADSSTRL; + char wk2[14]; + unsigned char ADSSTRT; + unsigned char ADSSTRO; + char wk3[1]; + unsigned char ADSSTR1; + unsigned char ADSSTR2; + unsigned char ADSSTR3; + unsigned char ADSSTR4; + unsigned char ADSSTR5; + unsigned char ADSSTR6; + unsigned char ADSSTR7; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char ADNDIS:5; + } BIT; + } ADDISCR; + char wk4[5]; + union { + unsigned short WORD; + struct { + unsigned short GBRP:1; + unsigned short :13; + unsigned short GBRSCN:1; + unsigned short PGS:1; + } BIT; + } ADGSPCR; + char wk5[2]; + unsigned short ADDBLDRA; + unsigned short ADDBLDRB; + char wk6[8]; + union { + unsigned char BYTE; + struct { + unsigned char CMPIE:1; + unsigned char WCMPE:1; + } BIT; + } ADCMPCR; + char wk7[1]; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char CMPSOC:1; + unsigned char CMPSTS:1; + } BIT; + } ADCMPANSER; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char CMPLOC:1; + unsigned char CMPLTS:1; + } BIT; + } ADCMPLER; + union { + unsigned short WORD; + struct { + unsigned short CMPS0:16; + } BIT; + } ADCMPANSR0; + union { + unsigned short WORD; + struct { + unsigned short :11; + unsigned short CMPS1:5; + } BIT; + } ADCMPANSR1; + union { + unsigned short WORD; + struct { + unsigned short CMPL0:16; + } BIT; + } ADCMPLR0; + union { + unsigned short WORD; + struct { + unsigned short :11; + unsigned short CMPL1:5; + } BIT; + } ADCMPLR1; + unsigned short ADCMPDR0; + unsigned short ADCMPDR1; + union { + unsigned short WORD; + struct { + unsigned short CMPF0:16; + } BIT; + } ADCMPSR0; + union { + unsigned short WORD; + struct { + unsigned short :11; + unsigned short CMPF1:5; + } BIT; + } ADCMPSR1; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char CMPFOC:1; + unsigned char CMPFTS:1; + } BIT; + } ADCMPSER; +}; + +struct st_sci0 { + union { + unsigned char BYTE; + struct { + unsigned char CM:1; + unsigned char CHR:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char STOP:1; + unsigned char MP:1; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char FER:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :2; + unsigned char CHR1:1; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; + union { + unsigned char BYTE; + struct { + unsigned char RXDESEL:1; + unsigned char BGDM:1; + unsigned char NFEN:1; + unsigned char ABCS:1; + unsigned char :1; + unsigned char BRME:1; + unsigned char :1; + unsigned char ACS0:1; + } BIT; + } SEMR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char NFCS:3; + } BIT; + } SNFR; + union { + unsigned char BYTE; + struct { + unsigned char IICDL:5; + unsigned char :2; + unsigned char IICM:1; + } BIT; + } SIMR1; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char IICACKT:1; + unsigned char :3; + unsigned char IICCSC:1; + unsigned char IICINTM:1; + } BIT; + } SIMR2; + union { + unsigned char BYTE; + struct { + unsigned char IICSCLS:2; + unsigned char IICSDAS:2; + unsigned char IICSTIF:1; + unsigned char IICSTPREQ:1; + unsigned char IICRSTAREQ:1; + unsigned char IICSTAREQ:1; + } BIT; + } SIMR3; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IICACKR:1; + } BIT; + } SISR; + union { + unsigned char BYTE; + struct { + unsigned char CKPH:1; + unsigned char CKPOL:1; + unsigned char :1; + unsigned char MFF:1; + unsigned char :1; + unsigned char MSS:1; + unsigned char CTSE:1; + unsigned char SSE:1; + } BIT; + } SPMR; + unsigned char TDRH; + unsigned char TDRL; + unsigned char RDRH; + unsigned char RDRL; + unsigned char MDDR; +}; + +struct st_sci12 { + union { + unsigned char BYTE; + struct { + unsigned char CM:1; + unsigned char CHR:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char STOP:1; + unsigned char MP:1; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char FER:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :2; + unsigned char CHR1:1; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; + union { + unsigned char BYTE; + struct { + unsigned char RXDESEL:1; + unsigned char BGDM:1; + unsigned char NFEN:1; + unsigned char ABCS:1; + unsigned char :1; + unsigned char BRME:1; + unsigned char :1; + unsigned char ACS0:1; + } BIT; + } SEMR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char NFCS:3; + } BIT; + } SNFR; + union { + unsigned char BYTE; + struct { + unsigned char IICDL:5; + unsigned char :2; + unsigned char IICM:1; + } BIT; + } SIMR1; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char IICACKT:1; + unsigned char :3; + unsigned char IICCSC:1; + unsigned char IICINTM:1; + } BIT; + } SIMR2; + union { + unsigned char BYTE; + struct { + unsigned char IICSCLS:2; + unsigned char IICSDAS:2; + unsigned char IICSTIF:1; + unsigned char IICSTPREQ:1; + unsigned char IICRSTAREQ:1; + unsigned char IICSTAREQ:1; + } BIT; + } SIMR3; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char IICACKR:1; + } BIT; + } SISR; + union { + unsigned char BYTE; + struct { + unsigned char CKPH:1; + unsigned char CKPOL:1; + unsigned char :1; + unsigned char MFF:1; + unsigned char :1; + unsigned char MSS:1; + unsigned char CTSE:1; + unsigned char SSE:1; + } BIT; + } SPMR; + unsigned char TDRH; + unsigned char TDRL; + unsigned char RDRH; + unsigned char RDRL; + unsigned char MDDR; + char wk0[13]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char ESME:1; + } BIT; + } ESMER; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char BRME:1; + unsigned char RXDSF:1; + unsigned char SFSF:1; + } BIT; + } CR0; + union { + unsigned char BYTE; + struct { + unsigned char PIBS:3; + unsigned char PIBE:1; + unsigned char CF1DS:2; + unsigned char CF0RE:1; + unsigned char BFE:1; + } BIT; + } CR1; + union { + unsigned char BYTE; + struct { + unsigned char RTS:2; + unsigned char BCCS:2; + unsigned char :1; + unsigned char DFCS:3; + } BIT; + } CR2; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SDST:1; + } BIT; + } CR3; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char SHARPS:1; + unsigned char :2; + unsigned char RXDXPS:1; + unsigned char TXDXPS:1; + } BIT; + } PCR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDIE:1; + unsigned char BCDIE:1; + unsigned char PIBDIE:1; + unsigned char CF1MIE:1; + unsigned char CF0MIE:1; + unsigned char BFDIE:1; + } BIT; + } ICR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDF:1; + unsigned char BCDF:1; + unsigned char PIBDF:1; + unsigned char CF1MF:1; + unsigned char CF0MF:1; + unsigned char BFDF:1; + } BIT; + } STR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char AEDCL:1; + unsigned char BCDCL:1; + unsigned char PIBDCL:1; + unsigned char CF1MCL:1; + unsigned char CF0MCL:1; + unsigned char BFDCL:1; + } BIT; + } STCR; + unsigned char CF0DR; + union { + unsigned char BYTE; + struct { + unsigned char CF0CE7:1; + unsigned char CF0CE6:1; + unsigned char CF0CE5:1; + unsigned char CF0CE4:1; + unsigned char CF0CE3:1; + unsigned char CF0CE2:1; + unsigned char CF0CE1:1; + unsigned char CF0CE0:1; + } BIT; + } CF0CR; + unsigned char CF0RR; + unsigned char PCF1DR; + unsigned char SCF1DR; + union { + unsigned char BYTE; + struct { + unsigned char CF1CE7:1; + unsigned char CF1CE6:1; + unsigned char CF1CE5:1; + unsigned char CF1CE4:1; + unsigned char CF1CE3:1; + unsigned char CF1CE2:1; + unsigned char CF1CE1:1; + unsigned char CF1CE0:1; + } BIT; + } CF1CR; + unsigned char CF1RR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TCST:1; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char TCSS:3; + unsigned char TWRC:1; + unsigned char :1; + unsigned char TOMS:2; + } BIT; + } TMR; + unsigned char TPRE; + unsigned char TCNT; +}; + +//struct st_scia { +// unsigned char MDDR; +//}; + +struct st_scif { + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short CM:1; + unsigned short CHR:1; + unsigned short PE:1; + unsigned short PM:1; + unsigned short STOP:1; + unsigned short :1; + unsigned short CKS:2; + } BIT; + } SMR; +// unsigned char BRR; + union { + unsigned char BRR; + unsigned char MDDR; + }; + char wk0[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short TIE:1; + unsigned short RIE:1; + unsigned short TE:1; + unsigned short RE:1; + unsigned short REIE:1; + unsigned short TEIE:1; + unsigned short CKE:2; + } BIT; + } SCR; + unsigned char FTDR; + char wk1[1]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short ER:1; + unsigned short TEND:1; + unsigned short TDFE:1; + unsigned short BRK:1; + unsigned short FER:1; + unsigned short PER:1; + unsigned short RDF:1; + unsigned short DR:1; + } BIT; + } FSR; + unsigned char FRDR; + char wk2[1]; + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short RSTRG:3; + unsigned short RTRG:2; + unsigned short TTRG:2; + unsigned short MCE:1; + unsigned short TFRST:1; + unsigned short RFRST:1; + unsigned short LOOP:1; + } BIT; + } FCR; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short T:5; + unsigned short :3; + unsigned short R:5; + } BIT; + } FDR; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short RTS2IO:1; + unsigned short RTS2DT:1; + unsigned short CTS2IO:1; + unsigned short CTS2DT:1; + unsigned short SCKIO:1; + unsigned short SCKDT:1; + unsigned short SPB2IO:1; + unsigned short SPB2DT:1; + } BIT; + } SPTR; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short PER:4; + unsigned short :2; + unsigned short FER:4; + unsigned short :1; + unsigned short ORER:1; + } BIT; + } LSR; + union { + unsigned char BYTE; + struct { + unsigned char BGDM:1; + unsigned char ACS0:1; + unsigned char BRME:1; + unsigned char MDDRS:1; + unsigned char DIR:1; + unsigned char NFEN:1; + unsigned char :1; + unsigned char ABCS0:1; + } BIT; + } SEMR; + char wk3[1]; + union { + unsigned short WORD; + struct { + unsigned short RTRGS:1; + unsigned short :2; + unsigned short RFTC:5; + unsigned short TTRGS:1; + unsigned short :2; + unsigned short TFTC:5; + } BIT; + } FTCR; +}; + +struct st_smci { + union { + unsigned char BYTE; + struct { + unsigned char GM:1; + unsigned char BLK:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char BCP:2; + unsigned char CKS:2; + } BIT; + } SMR; + char wk0[3]; +// unsigned char BRR; + union { + unsigned char BRR; + unsigned char MDDR; + }; + char wk1[3]; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + char wk2[3]; + unsigned char TDR; + char wk3[3]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char ERS:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + char wk4[3]; + unsigned char RDR; + char wk5[3]; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :2; + unsigned char CHR1:1; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; + char wk6[3]; + union { + unsigned char BYTE; + struct { + unsigned char BRME:1; + unsigned char MDDRS:1; + unsigned char :1; + unsigned char ABCS:1; + unsigned char :1; + unsigned char RSDMOS:1; + unsigned char :1; + unsigned char ACS0:1; + } BIT; + } SEMR; +}; + +struct st_smci0 { + union { + unsigned char BYTE; + struct { + unsigned char GM:1; + unsigned char BLK:1; + unsigned char PE:1; + unsigned char PM:1; + unsigned char BCP:2; + unsigned char CKS:2; + } BIT; + } SMR; + unsigned char BRR; + union { + unsigned char BYTE; + struct { + unsigned char TIE:1; + unsigned char RIE:1; + unsigned char TE:1; + unsigned char RE:1; + unsigned char MPIE:1; + unsigned char TEIE:1; + unsigned char CKE:2; + } BIT; + } SCR; + unsigned char TDR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char ORER:1; + unsigned char ERS:1; + unsigned char PER:1; + unsigned char TEND:1; + unsigned char MPB:1; + unsigned char MPBT:1; + } BIT; + } SSR; + unsigned char RDR; + union { + unsigned char BYTE; + struct { + unsigned char BCP2:1; + unsigned char :2; + unsigned char CHR1:1; + unsigned char SDIR:1; + unsigned char SINV:1; + unsigned char :1; + unsigned char SMIF:1; + } BIT; + } SCMR; +}; + +struct st_src { + union { + unsigned long LONG; + struct { + unsigned long :10; + unsigned long SRCFCTR:22; + } BIT; + } SRCFCTR[5552]; + char wk0[2352]; + union { + unsigned long LONG; + struct { + unsigned long B31:1; + unsigned long B30:1; + unsigned long B29:1; + unsigned long B28:1; + unsigned long B27:1; + unsigned long B26:1; + unsigned long B25:1; + unsigned long B24:1; + unsigned long B23:1; + unsigned long B22:1; + unsigned long B21:1; + unsigned long B20:1; + unsigned long B19:1; + unsigned long B18:1; + unsigned long B17:1; + unsigned long B16:1; + unsigned long B15:1; + unsigned long B14:1; + unsigned long B13:1; + unsigned long B12:1; + unsigned long B11:1; + unsigned long B10:1; + unsigned long B9:1; + unsigned long B8:1; + unsigned long B7:1; + unsigned long B6:1; + unsigned long B5:1; + unsigned long B4:1; + unsigned long B3:1; + unsigned long B2:1; + unsigned long B1:1; + unsigned long B0:1; + } BIT; + } SRCID; + union { + unsigned long LONG; + struct { + unsigned long B31:1; + unsigned long B30:1; + unsigned long B29:1; + unsigned long B28:1; + unsigned long B27:1; + unsigned long B26:1; + unsigned long B25:1; + unsigned long B24:1; + unsigned long B23:1; + unsigned long B22:1; + unsigned long B21:1; + unsigned long B20:1; + unsigned long B19:1; + unsigned long B18:1; + unsigned long B17:1; + unsigned long B16:1; + unsigned long B15:1; + unsigned long B14:1; + unsigned long B13:1; + unsigned long B12:1; + unsigned long B11:1; + unsigned long B10:1; + unsigned long B9:1; + unsigned long B8:1; + unsigned long B7:1; + unsigned long B6:1; + unsigned long B5:1; + unsigned long B4:1; + unsigned long B3:1; + unsigned long B2:1; + unsigned long B1:1; + unsigned long B0:1; + } BIT; + } SRCOD; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short IED:1; + unsigned short IEN:1; + unsigned short :6; + unsigned short IFTRG:2; + } BIT; + } SRCIDCTRL; + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short OCH:1; + unsigned short OED:1; + unsigned short OEN:1; + unsigned short :6; + unsigned short OFTRG:2; + } BIT; + } SRCODCTRL; + union { + unsigned short WORD; + struct { + unsigned short FICRAE:1; + unsigned short :1; + unsigned short CEEN:1; + unsigned short SRCEN:1; + unsigned short UDEN:1; + unsigned short OVEN:1; + unsigned short FL:1; + unsigned short CL:1; + unsigned short IFS:4; + unsigned short :1; + unsigned short OFS:3; + } BIT; + } SRCCTRL; + union { + unsigned short WORD; + struct { + unsigned short OFDN:5; + unsigned short IFDN:3; + unsigned short :2; + unsigned short CEF:1; + unsigned short FLF:1; + unsigned short UDF:1; + unsigned short OVF:1; + unsigned short IINIT:1; + unsigned short OINT:1; + } BIT; + } SRCSTAT; +}; + +struct st_ssi { + union { + unsigned long LONG; + struct { + unsigned long :1; + unsigned long CKS:1; + unsigned long TUIEN:1; + unsigned long TOIEN:1; + unsigned long RUIEN:1; + unsigned long ROIEN:1; + unsigned long IIEN:1; + unsigned long :1; + unsigned long CHNL:2; + unsigned long DWL:3; + unsigned long SWL:3; + unsigned long SCKD:1; + unsigned long SWSD:1; + unsigned long SCKP:1; + unsigned long SWSP:1; + unsigned long SPDP:1; + unsigned long SDTA:1; + unsigned long PDTA:1; + unsigned long DEL:1; + unsigned long CKDV:4; + unsigned long MUEN:1; + unsigned long :1; + unsigned long TEN:1; + unsigned long REN:1; + } BIT; + } SSICR; + union { + unsigned long LONG; + struct { + unsigned long :2; + unsigned long TUIRQ:1; + unsigned long TOIRQ:1; + unsigned long RUIRQ:1; + unsigned long ROIRQ:1; + unsigned long IIRQ:1; + unsigned long :18; + unsigned long TCHNO:2; + unsigned long TSWNO:1; + unsigned long RCHNO:2; + unsigned long RSWNO:1; + unsigned long IDST:1; + } BIT; + } SSISR; + char wk0[8]; + union { + unsigned long LONG; + struct { + unsigned long AUCKE:1; + unsigned long :23; + unsigned long TTRG:2; + unsigned long RTRG:2; + unsigned long TUE:1; + unsigned long RIE:1; + unsigned long TFRST:1; + unsigned long RFRST:1; + } BIT; + } SSIFCR; + union { + unsigned long LONG; + struct { + unsigned long :4; + unsigned long TDC:4; + unsigned long :7; + unsigned long TDE:1; + unsigned long :4; + unsigned long RDC:4; + unsigned long :7; + unsigned long RDF:1; + } BIT; + } SSIFSR; + unsigned long SSIFTDR; + unsigned long SSIFRDR; + union { + unsigned long LONG; + struct { + unsigned long :23; + unsigned long CONT:1; + } BIT; + } SSITDMR; +}; + +struct st_system { + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short MD:1; + } BIT; + } MDMONR; + union { + unsigned short WORD; + struct { + unsigned short :10; + unsigned short UBTS:1; + } BIT; + } MDSR; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short KEY:8; + unsigned short :6; + unsigned short EXBE:1; + unsigned short ROME:1; + } BIT; + } SYSCR0; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short SBYRAME:1; + unsigned short ECCRAME:1; + unsigned short :5; + unsigned short RAME:1; + } BIT; + } SYSCR1; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short SSBY:1; + unsigned short OPE:1; + } BIT; + } SBYCR; + char wk2[2]; + union { + unsigned long LONG; + struct { + unsigned long ACSE:1; + unsigned long :1; + unsigned long MSTPA29:1; + unsigned long MSTPA28:1; + unsigned long MSTPA27:1; + unsigned long :7; + unsigned long MSTPA19:1; + unsigned long :1; + unsigned long MSTPA17:1; + unsigned long MSTPA16:1; + unsigned long MSTPA15:1; + unsigned long MSTPA14:1; + unsigned long MSTPA13:1; + unsigned long :1; + unsigned long MSTPA11:1; + unsigned long MSTPA10:1; + unsigned long MSTPA9:1; + unsigned long :1; + unsigned long MSTPA7:1; + unsigned long :1; + unsigned long MSTPA5:1; + unsigned long MSTPA4:1; + unsigned long :2; + unsigned long MSTPA1:1; + unsigned long MSTPA0:1; + } BIT; + } MSTPCRA; + union { + unsigned long LONG; + struct { + unsigned long MSTPB31:1; + unsigned long MSTPB30:1; + unsigned long MSTPB29:1; + unsigned long MSTPB28:1; + unsigned long MSTPB27:1; + unsigned long MSTPB26:1; + unsigned long MSTPB25:1; + unsigned long MSTPB24:1; + unsigned long MSTPB23:1; + unsigned long MSTPB22:1; + unsigned long MSTPB21:1; + unsigned long :1; + unsigned long MSTPB19:1; + unsigned long :1; + unsigned long MSTPB17:1; + unsigned long :1; + unsigned long MSTPB15:1; + unsigned long MSTPB14:1; + unsigned long :1; + unsigned long MSTPB12:1; + unsigned long :2; + unsigned long MSTPB9:1; + unsigned long MSTPB8:1; + unsigned long :1; + unsigned long MSTPB6:1; + unsigned long :1; + unsigned long MSTPB4:1; + unsigned long :1; + unsigned long MSTPB2:1; + unsigned long MSTPB1:1; + unsigned long MSTPB0:1; + } BIT; + } MSTPCRB; + union { + unsigned long LONG; + struct { + unsigned long :4; + unsigned long MSTPC27:1; + unsigned long MSTPC26:1; + unsigned long MSTPC25:1; + unsigned long MSTPC24:1; + unsigned long MSTPC23:1; + unsigned long :3; + unsigned long MSTPC19:1; + unsigned long :1; + unsigned long MSTPC17:1; + unsigned long :9; + unsigned long MSTPC7:1; + unsigned long :4; + unsigned long MSTPC2:1; + unsigned long :1; + unsigned long MSTPC0:1; + } BIT; + } MSTPCRC; + union { + unsigned long LONG; + struct { + unsigned long MSTPD31:1; + unsigned long MSTPD30:1; + unsigned long MSTPD29:1; + unsigned long MSTPD28:1; + unsigned long :4; + unsigned long MSTPD23:1; + unsigned long :1; + unsigned long MSTPD21:1; + unsigned long :1; + unsigned long MSTPD19:1; + unsigned long :3; + unsigned long MSTPD15:1; + unsigned long MSTPD14:1; + } BIT; + } MSTPCRD; + union { + unsigned long LONG; + struct { + unsigned long FCK:4; + unsigned long ICK:4; + unsigned long PSTOP1:1; + unsigned long PSTOP0:1; + unsigned long :2; + unsigned long BCK:4; + unsigned long PCKA:4; + unsigned long PCKB:4; + unsigned long PCKC:4; + unsigned long PCKD:4; + } BIT; + } SCKCR; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short UCK:4; + } BIT; + } SCKCR2; + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short CKSEL:3; + } BIT; + } SCKCR3; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short STC:6; + unsigned short :3; + unsigned short PLLSRCSEL:1; + unsigned short :2; + unsigned short PLIDIV:2; + } BIT; + } PLLCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char PLLEN:1; + } BIT; + } PLLCR2; + char wk3[5]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char BCLKDIV:1; + } BIT; + } BCKCR; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char MOSTP:1; + } BIT; + } MOSCCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char SOSTP:1; + } BIT; + } SOSCCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char LCSTP:1; + } BIT; + } LOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char ILCSTP:1; + } BIT; + } ILOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char HCSTP:1; + } BIT; + } HOCOCR; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char HCFRQ:2; + } BIT; + } HOCOCR2; + char wk6[4]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char ILCOVF:1; + unsigned char HCOVF:1; + unsigned char PLOVF:1; + unsigned char SOOVF:1; + unsigned char MOOVF:1; + } BIT; + } OSCOVFSR; + char wk7[3]; + union { + unsigned char BYTE; + struct { + unsigned char OSTDE:1; + unsigned char :6; + unsigned char OSTDIE:1; + } BIT; + } OSTDCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char OSTDF:1; + } BIT; + } OSTDSR; + char wk8[94]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char OPCMTSF:1; + unsigned char :1; + unsigned char OPCM:3; + } BIT; + } OPCCR; + union { + unsigned char BYTE; + struct { + unsigned char RSTCKEN:1; + unsigned char :4; + unsigned char RSTCKSEL:3; + } BIT; + } RSTCKCR; + union { + unsigned char BYTE; + struct { + unsigned char MSTS:8; + } BIT; + } MOSCWTCR; + union { + unsigned char BYTE; + struct { + unsigned char SSTS:8; + } BIT; + } SOSCWTCR; + char wk9[28]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char SWRF:1; + unsigned char WDTRF:1; + unsigned char IWTDRF:1; + } BIT; + } RSTSR2; + char wk10[1]; + unsigned short SWRR; + char wk11[28]; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char LVD1IRQSEL:1; + unsigned char LVD1IDTSEL:2; + } BIT; + } LVD1CR1; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char LVD1MON:1; + unsigned char LVD1DET:1; + } BIT; + } LVD1SR; + union { + unsigned char BYTE; + struct { + unsigned char :5; + unsigned char LVD2IRQSEL:1; + unsigned char LVD2IDTSEL:2; + } BIT; + } LVD2CR1; + union { + unsigned char BYTE; + struct { + unsigned char :6; + unsigned char LVD2MON:1; + unsigned char LVD2DET:1; + } BIT; + } LVD2SR; + char wk12[794]; + union { + unsigned short WORD; + struct { + unsigned short PRKEY:8; + unsigned short :4; + unsigned short PRC3:1; + unsigned short :1; + unsigned short PRC1:1; + unsigned short PRC0:1; + } BIT; + } PRCR; + char wk13[48768]; + union { + unsigned char BYTE; + struct { + unsigned char DPSBY:1; + unsigned char IOKEEP:1; + unsigned char :4; + unsigned char DEEPCUT:2; + } BIT; + } DPSBYCR; + char wk14[1]; + union { + unsigned char BYTE; + struct { + unsigned char DIRQ7E:1; + unsigned char DIRQ6E:1; + unsigned char DIRQ5E:1; + unsigned char DIRQ4E:1; + unsigned char DIRQ3E:1; + unsigned char DIRQ2E:1; + unsigned char DIRQ1E:1; + unsigned char DIRQ0E:1; + } BIT; + } DPSIER0; + union { + unsigned char BYTE; + struct { + unsigned char DIRQ15E:1; + unsigned char DIRQ14E:1; + unsigned char DIRQ13E:1; + unsigned char DIRQ12E:1; + unsigned char DIRQ11E:1; + unsigned char DIRQ10E:1; + unsigned char DIRQ9E:1; + unsigned char DIRQ8E:1; + } BIT; + } DPSIER1; + union { + unsigned char BYTE; + struct { + unsigned char DUSBIE:1; + unsigned char DRIICCIE:1; + unsigned char DRIICDIE:1; + unsigned char DNMIE:1; + unsigned char DRTCAIE:1; + unsigned char DRTCIIE:1; + unsigned char DLVD2IE:1; + unsigned char DLVD1IE:1; + } BIT; + } DPSIER2; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DCANIE:1; + } BIT; + } DPSIER3; + union { + unsigned char BYTE; + struct { + unsigned char DIRQ7F:1; + unsigned char DIRQ6F:1; + unsigned char DIRQ5F:1; + unsigned char DIRQ4F:1; + unsigned char DIRQ3F:1; + unsigned char DIRQ2F:1; + unsigned char DIRQ1F:1; + unsigned char DIRQ0F:1; + } BIT; + } DPSIFR0; + union { + unsigned char BYTE; + struct { + unsigned char DIRQ15F:1; + unsigned char DIRQ14F:1; + unsigned char DIRQ13F:1; + unsigned char DIRQ12F:1; + unsigned char DIRQ11F:1; + unsigned char DIRQ10F:1; + unsigned char DIRQ9F:1; + unsigned char DIRQ8F:1; + } BIT; + } DPSIFR1; + union { + unsigned char BYTE; + struct { + unsigned char DUSBIF:1; + unsigned char DRIICCIF:1; + unsigned char DRIICDIF:1; + unsigned char DNMIF:1; + unsigned char DRTCAIF:1; + unsigned char DRTCIIF:1; + unsigned char DLVD2IF:1; + unsigned char DLVD1IF:1; + } BIT; + } DPSIFR2; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DCANIF:1; + } BIT; + } DPSIFR3; + union { + unsigned char BYTE; + struct { + unsigned char DIRQ7EG:1; + unsigned char DIRQ6EG:1; + unsigned char DIRQ5EG:1; + unsigned char DIRQ4EG:1; + unsigned char DIRQ3EG:1; + unsigned char DIRQ2EG:1; + unsigned char DIRQ1EG:1; + unsigned char DIRQ0EG:1; + } BIT; + } DPSIEGR0; + union { + unsigned char BYTE; + struct { + unsigned char DIRQ15EG:1; + unsigned char DIRQ14EG:1; + unsigned char DIRQ13EG:1; + unsigned char DIRQ12EG:1; + unsigned char DIRQ11EG:1; + unsigned char DIRQ10EG:1; + unsigned char DIRQ9EG:1; + unsigned char DIRQ8EG:1; + } BIT; + } DPSIEGR1; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char DRIICCEG:1; + unsigned char DRIICDEG:1; + unsigned char DNMIEG:1; + unsigned char :2; + unsigned char DLVD2EG:1; + unsigned char DLVD1EG:1; + } BIT; + } DPSIEGR2; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char DCANIEG:1; + } BIT; + } DPSIEGR3; + char wk15[2]; + union { + unsigned char BYTE; + struct { + unsigned char DPSRSTF:1; + unsigned char :3; + unsigned char LVD2RF:1; + unsigned char LVD1RF:1; + unsigned char LVD0RF:1; + unsigned char PORF:1; + } BIT; + } RSTSR0; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char CWSF:1; + } BIT; + } RSTSR1; + char wk16[1]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char MOSEL:1; + unsigned char MODRV2:2; + unsigned char MODRV:3; + unsigned char MOFXIN:1; + } BIT; + } MOFCR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char HOCOPCNT:1; + } BIT; + } HOCOPCR; + char wk17[2]; + union { + unsigned char BYTE; + struct { + unsigned char :1; + unsigned char LVD2E:1; + unsigned char LVD1E:1; + } BIT; + } LVCMPCR; + union { + unsigned char BYTE; + struct { + unsigned char LVD2LVL:4; + unsigned char LVD1LVL:4; + } BIT; + } LVDLVLR; + char wk18[1]; + union { + unsigned char BYTE; + struct { + unsigned char LVD1RN:1; + unsigned char LVD1RI:1; + unsigned char LVD1FSAMP:2; + unsigned char :1; + unsigned char LVD1CMPE:1; + unsigned char LVD1DFDIS:1; + unsigned char LVD1RIE:1; + } BIT; + } LVD1CR0; + union { + unsigned char BYTE; + struct { + unsigned char LVD2RN:1; + unsigned char LVD2RI:1; + unsigned char LVD2FSAMP:2; + unsigned char :1; + unsigned char LVD2CMPE:1; + unsigned char LVD2DFDIS:1; + unsigned char LVD2RIE:1; + } BIT; + } LVD2CR0; + char wk19[1]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char VBATTMNSEL:1; + } BIT; + } VBATTMNSELR; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char VBATTMON:1; + } BIT; + } VBATTMONR; + char wk20[1]; + unsigned char DPSBKR[32]; + char wk21[7794020]; + union { + unsigned long LONG; + struct { + unsigned long :29; + unsigned long MDE:3; + } BIT; + } MDE; + union { + unsigned long LONG; + struct { + unsigned long :3; + unsigned long WDTRSTIRQS:1; + unsigned long WDTRPSS:2; + unsigned long WDTRPES:2; + unsigned long WDTCKS:4; + unsigned long WDTTOPS:2; + unsigned long WDTSTRT:1; + unsigned long :2; + unsigned long IWDTSLCSTP:1; + unsigned long :1; + unsigned long IWDTRSTIRQS:1; + unsigned long IWDTRPSS:2; + unsigned long IWDTRPES:2; + unsigned long IWDTCKS:4; + unsigned long IWDTTOPS:2; + unsigned long IWDTSTRT:1; + } BIT; + } OFS0; + union { + unsigned long LONG; + struct { + unsigned long :23; + unsigned long HOCOEN:1; + unsigned long :5; + unsigned long LVDAS:1; + unsigned long VDSEL:2; + } BIT; + } OFS1; +}; + +struct st_temps { + union { + unsigned char BYTE; + struct { + unsigned char TSEN:1; + unsigned char :2; + unsigned char TSOE:1; + } BIT; + } TSCR; +}; + +struct st_tmr0 { + union { + unsigned char BYTE; + struct { + unsigned char CMIEB:1; + unsigned char CMIEA:1; + unsigned char OVIE:1; + unsigned char CCLR:2; + } BIT; + } TCR; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :3; + unsigned char ADTE:1; + unsigned char OSB:2; + unsigned char OSA:2; + } BIT; + } TCSR; + char wk1[1]; + unsigned char TCORA; + char wk2[1]; + unsigned char TCORB; + char wk3[1]; + unsigned char TCNT; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char TMRIS:1; + unsigned char :2; + unsigned char CSS:2; + unsigned char CKS:3; + } BIT; + } TCCR; + char wk5[1]; + union { + unsigned char BYTE; + struct { + unsigned char :7; + unsigned char TCS:1; + } BIT; + } TCSTR; +}; + +struct st_tmr1 { + union { + unsigned char BYTE; + struct { + unsigned char CMIEB:1; + unsigned char CMIEA:1; + unsigned char OVIE:1; + unsigned char CCLR:2; + } BIT; + } TCR; + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :4; + unsigned char OSB:2; + unsigned char OSA:2; + } BIT; + } TCSR; + char wk1[1]; + unsigned char TCORA; + char wk2[1]; + unsigned char TCORB; + char wk3[1]; + unsigned char TCNT; + char wk4[1]; + union { + unsigned char BYTE; + struct { + unsigned char TMRIS:1; + unsigned char :2; + unsigned char CSS:2; + unsigned char CKS:3; + } BIT; + } TCCR; +}; + +struct st_tmr01 { + unsigned short TCORA; + unsigned short TCORB; + unsigned short TCNT; + unsigned short TCCR; +}; + +struct st_tpu0 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk0[7]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char ICSELD:1; + unsigned char ICSELB:1; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :2; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :1; + unsigned char TCFU:1; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + unsigned short TGRC; + unsigned short TGRD; +}; + +struct st_tpu1 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk1[22]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char ICSELD:1; + unsigned char ICSELB:1; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :1; + unsigned char TCFU:1; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; +}; + +struct st_tpu2 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk0[37]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char ICSELD:1; + unsigned char ICSELB:1; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :1; + unsigned char TCFU:1; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; +}; + +struct st_tpu3 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk1[52]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char ICSELD:1; + unsigned char ICSELB:1; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIORH; + union { + unsigned char BYTE; + struct { + unsigned char IOD:4; + unsigned char IOC:4; + } BIT; + } TIORL; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :1; + unsigned char TCFU:1; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; + unsigned short TGRC; + unsigned short TGRD; +}; + +struct st_tpu4 { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk0[67]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char ICSELD:1; + unsigned char ICSELB:1; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk1[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :1; + unsigned char TCFU:1; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; +}; + +struct st_tpu5 { + char wk0[1]; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char NFCS:2; + unsigned char NFDEN:1; + unsigned char NFCEN:1; + unsigned char NFBEN:1; + unsigned char NFAEN:1; + } BIT; + } NFCR; + char wk1[82]; + union { + unsigned char BYTE; + struct { + unsigned char CCLR:3; + unsigned char CKEG:2; + unsigned char TPSC:3; + } BIT; + } TCR; + union { + unsigned char BYTE; + struct { + unsigned char ICSELD:1; + unsigned char ICSELB:1; + unsigned char BFB:1; + unsigned char BFA:1; + unsigned char MD:4; + } BIT; + } TMDR; + union { + unsigned char BYTE; + struct { + unsigned char IOB:4; + unsigned char IOA:4; + } BIT; + } TIOR; + char wk2[1]; + union { + unsigned char BYTE; + struct { + unsigned char TTGE:1; + unsigned char :1; + unsigned char TCIEU:1; + unsigned char TCIEV:1; + unsigned char TGIED:1; + unsigned char TGIEC:1; + unsigned char TGIEB:1; + unsigned char TGIEA:1; + } BIT; + } TIER; + union { + unsigned char BYTE; + struct { + unsigned char TCFD:1; + unsigned char :1; + unsigned char TCFU:1; + unsigned char TCFV:1; + unsigned char TGFD:1; + unsigned char TGFC:1; + unsigned char TGFB:1; + unsigned char TGFA:1; + } BIT; + } TSR; + unsigned short TCNT; + unsigned short TGRA; + unsigned short TGRB; +}; + +struct st_tpua { + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char CST5:1; + unsigned char CST4:1; + unsigned char CST3:1; + unsigned char CST2:1; + unsigned char CST1:1; + unsigned char CST0:1; + } BIT; + } TSTR; + union { + unsigned char BYTE; + struct { + unsigned char :2; + unsigned char SYNC5:1; + unsigned char SYNC4:1; + unsigned char SYNC3:1; + unsigned char SYNC2:1; + unsigned char SYNC1:1; + unsigned char SYNC0:1; + } BIT; + } TSYR; +}; + +struct st_usb { + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long DVBSTS0:1; + unsigned long :1; + unsigned long DOVCB0:1; + unsigned long DOVCA0:1; + unsigned long :2; + unsigned long DM0:1; + unsigned long DP0:1; + unsigned long :11; + unsigned long FIXPHY0:1; + unsigned long DRPD0:1; + unsigned long :1; + unsigned long RPUE0:1; + unsigned long SRPC0:1; + } BIT; + } DPUSR0R; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long DVBINT0:1; + unsigned long :1; + unsigned long DOVRCRB0:1; + unsigned long DOVRCRA0:1; + unsigned long :2; + unsigned long DMINT0:1; + unsigned long DPINT0:1; + unsigned long :8; + unsigned long DVBSE0:1; + unsigned long :1; + unsigned long DOVRCRBE0:1; + unsigned long DOVRCRAE0:1; + unsigned long :2; + unsigned long DMINTE0:1; + unsigned long DPINTE0:1; + } BIT; + } DPUSR1R; +}; + +struct st_usb0 { + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short SCKE:1; + unsigned short :3; + unsigned short DCFM:1; + unsigned short DRPD:1; + unsigned short DPRPU:1; + unsigned short :3; + unsigned short USBE:1; + } BIT; + } SYSCFG; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short OVCMON:2; + unsigned short :7; + unsigned short HTACT:1; + unsigned short :3; + unsigned short IDMON:1; + unsigned short LNST:2; + } BIT; + } SYSSTS0; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short HNPBTOA:1; + unsigned short EXICEN:1; + unsigned short VBUSEN:1; + unsigned short WKUP:1; + unsigned short RWUPE:1; + unsigned short USBRST:1; + unsigned short RESUME:1; + unsigned short UACT:1; + unsigned short :1; + unsigned short RHST:3; + } BIT; + } DVSTCTR0; + char wk2[10]; + unsigned short CFIFO; + char wk3[2]; + unsigned short D0FIFO; + char wk4[2]; + unsigned short D1FIFO; + char wk5[2]; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short :3; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :2; + unsigned short ISEL:1; + unsigned short :1; + unsigned short CURPIPE:4; + } BIT; + } CFIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } CFIFOCTR; + char wk6[4]; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short DCLRM:1; + unsigned short DREQE:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :4; + unsigned short CURPIPE:4; + } BIT; + } D0FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } D0FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short DCLRM:1; + unsigned short DREQE:1; + unsigned short :1; + unsigned short MBW:1; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :4; + unsigned short CURPIPE:4; + } BIT; + } D1FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :4; + unsigned short DTLN:9; + } BIT; + } D1FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short VBSE:1; + unsigned short RSME:1; + unsigned short SOFE:1; + unsigned short DVSE:1; + unsigned short CTRE:1; + unsigned short BEMPE:1; + unsigned short NRDYE:1; + unsigned short BRDYE:1; + } BIT; + } INTENB0; + union { + unsigned short WORD; + struct { + unsigned short OVRCRE:1; + unsigned short BCHGE:1; + unsigned short :1; + unsigned short DTCHE:1; + unsigned short ATTCHE:1; + unsigned short :4; + unsigned short EOFERRE:1; + unsigned short SIGNE:1; + unsigned short SACKE:1; + } BIT; + } INTENB1; + char wk7[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BRDYE:1; + unsigned short PIPE8BRDYE:1; + unsigned short PIPE7BRDYE:1; + unsigned short PIPE6BRDYE:1; + unsigned short PIPE5BRDYE:1; + unsigned short PIPE4BRDYE:1; + unsigned short PIPE3BRDYE:1; + unsigned short PIPE2BRDYE:1; + unsigned short PIPE1BRDYE:1; + unsigned short PIPE0BRDYE:1; + } BIT; + } BRDYENB; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9NRDYE:1; + unsigned short PIPE8NRDYE:1; + unsigned short PIPE7NRDYE:1; + unsigned short PIPE6NRDYE:1; + unsigned short PIPE5NRDYE:1; + unsigned short PIPE4NRDYE:1; + unsigned short PIPE3NRDYE:1; + unsigned short PIPE2NRDYE:1; + unsigned short PIPE1NRDYE:1; + unsigned short PIPE0NRDYE:1; + } BIT; + } NRDYENB; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BEMPE:1; + unsigned short PIPE8BEMPE:1; + unsigned short PIPE7BEMPE:1; + unsigned short PIPE6BEMPE:1; + unsigned short PIPE5BEMPE:1; + unsigned short PIPE4BEMPE:1; + unsigned short PIPE3BEMPE:1; + unsigned short PIPE2BEMPE:1; + unsigned short PIPE1BEMPE:1; + unsigned short PIPE0BEMPE:1; + } BIT; + } BEMPENB; + union { + unsigned short WORD; + struct { + unsigned short :7; + unsigned short TRNENSEL:1; + unsigned short :1; + unsigned short BRDYM:1; + unsigned short :1; + unsigned short EDGESTS:1; + } BIT; + } SOFCFG; + char wk8[2]; + union { + unsigned short WORD; + struct { + unsigned short VBINT:1; + unsigned short RESM:1; + unsigned short SOFR:1; + unsigned short DVST:1; + unsigned short CTRT:1; + unsigned short BEMP:1; + unsigned short NRDY:1; + unsigned short BRDY:1; + unsigned short VBSTS:1; + unsigned short DVSQ:3; + unsigned short VALID:1; + unsigned short CTSQ:3; + } BIT; + } INTSTS0; + union { + unsigned short WORD; + struct { + unsigned short OVRCR:1; + unsigned short BCHG:1; + unsigned short :1; + unsigned short DTCH:1; + unsigned short ATTCH:1; + unsigned short :4; + unsigned short EOFERR:1; + unsigned short SIGN:1; + unsigned short SACK:1; + } BIT; + } INTSTS1; + char wk9[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BRDY:1; + unsigned short PIPE8BRDY:1; + unsigned short PIPE7BRDY:1; + unsigned short PIPE6BRDY:1; + unsigned short PIPE5BRDY:1; + unsigned short PIPE4BRDY:1; + unsigned short PIPE3BRDY:1; + unsigned short PIPE2BRDY:1; + unsigned short PIPE1BRDY:1; + unsigned short PIPE0BRDY:1; + } BIT; + } BRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9NRDY:1; + unsigned short PIPE8NRDY:1; + unsigned short PIPE7NRDY:1; + unsigned short PIPE6NRDY:1; + unsigned short PIPE5NRDY:1; + unsigned short PIPE4NRDY:1; + unsigned short PIPE3NRDY:1; + unsigned short PIPE2NRDY:1; + unsigned short PIPE1NRDY:1; + unsigned short PIPE0NRDY:1; + } BIT; + } NRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BEMP:1; + unsigned short PIPE8BEMP:1; + unsigned short PIPE7BEMP:1; + unsigned short PIPE6BEMP:1; + unsigned short PIPE5BEMP:1; + unsigned short PIPE4BEMP:1; + unsigned short PIPE3BEMP:1; + unsigned short PIPE2BEMP:1; + unsigned short PIPE1BEMP:1; + unsigned short PIPE0BEMP:1; + } BIT; + } BEMPSTS; + union { + unsigned short WORD; + struct { + unsigned short OVRN:1; + unsigned short CRCE:1; + unsigned short :3; + unsigned short FRNM:11; + } BIT; + } FRMNUM; + union { + unsigned short WORD; + struct { + unsigned short DVCHG:1; + } BIT; + } DVCHGR; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short STSRECOV:4; + unsigned short :1; + unsigned short USBADDR:7; + } BIT; + } USBADDR; + char wk10[2]; + union { + unsigned short WORD; + struct { + unsigned short BREQUEST:8; + unsigned short BMREQUESTTYPE:8; + } BIT; + } USBREQ; + unsigned short USBVAL; + unsigned short USBINDX; + unsigned short USBLENG; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short SHTNAK:1; + unsigned short :2; + unsigned short DIR:1; + } BIT; + } DCPCFG; + union { + unsigned short WORD; + struct { + unsigned short DEVSEL:4; + unsigned short :5; + unsigned short MXPS:7; + } BIT; + } DCPMAXP; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short SUREQ:1; + unsigned short :2; + unsigned short SUREQCLR:1; + unsigned short :2; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :2; + unsigned short CCPL:1; + unsigned short PID:2; + } BIT; + } DCPCTR; + char wk11[2]; + union { + unsigned short WORD; + struct { + unsigned short :12; + unsigned short PIPESEL:4; + } BIT; + } PIPESEL; + char wk12[2]; + union { + unsigned short WORD; + struct { + unsigned short TYPE:2; + unsigned short :3; + unsigned short BFRE:1; + unsigned short DBLB:1; + unsigned short :1; + unsigned short SHTNAK:1; + unsigned short :2; + unsigned short DIR:1; + unsigned short EPNUM:4; + } BIT; + } PIPECFG; + char wk13[2]; + union { + unsigned short WORD; + struct { + unsigned short DEVSEL:4; + unsigned short :3; + unsigned short MXPS:9; + } BIT; + } PIPEMAXP; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short IFIS:1; + unsigned short :9; + unsigned short IITV:3; + } BIT; + } PIPEPERI; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE1CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE2CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE3CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE4CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short :3; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE5CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE6CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE7CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE8CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short :5; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE9CTR; + char wk14[14]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE1TRE; + unsigned short PIPE1TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE2TRE; + unsigned short PIPE2TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE3TRE; + unsigned short PIPE3TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE4TRE; + unsigned short PIPE4TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE5TRE; + unsigned short PIPE5TRN; + char wk15[44]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD0; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD1; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD2; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD3; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD4; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short USBSPD:2; + } BIT; + } DEVADD5; + char wk16[20]; + union { + unsigned long LONG; + struct { + unsigned long :24; + unsigned long USBSPD:2; + unsigned long :2; + unsigned long SLEWF01:1; + unsigned long SLEWF00:1; + unsigned long SLEWR01:1; + unsigned long SLEWR00:1; + } BIT; + } DPUSR2R; +}; + +struct st_usbhs { + union { + unsigned short WORD; + struct { + unsigned short :7; + unsigned short CNEN:1; + unsigned short HSE:1; + unsigned short DCFM:1; + unsigned short DRPD:1; + unsigned short DPRPU:1; + unsigned short :3; + unsigned short USBE:1; + } BIT; + } SYSCFG; + union { + unsigned short WORD; + struct { + unsigned short :12; + unsigned short BWAIT:4; + } BIT; + } BUSWAIT; + union { + unsigned short WORD; + struct { + unsigned short OVCMON:2; + unsigned short :7; + unsigned short HTACT:1; + unsigned short :3; + unsigned short IDMON:1; + unsigned short LNST:2; + } BIT; + } SYSSTS0; + union { + unsigned short WORD; + struct { + unsigned short :15; + unsigned short PLLLOCK:1; + } BIT; + } PLLSTA; + union { + unsigned short WORD; + struct { + unsigned short :4; + unsigned short HNPBTOA:1; + unsigned short EXICEN:1; + unsigned short VBUSEN:1; + unsigned short WKUP:1; + unsigned short RWUPE:1; + unsigned short USBRST:1; + unsigned short RESUME:1; + unsigned short UACT:1; + unsigned short :1; + unsigned short RHST:3; + } BIT; + } DVSTCTR0; + char wk0[2]; + union { + unsigned short WORD; + struct { + unsigned short :12; + unsigned short UTST:4; + } BIT; + } TESTMODE; + char wk1[2]; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short DFACC:2; + unsigned short :7; + unsigned short TENDE:1; + } BIT; + } D0FBCFG; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short DFACC:2; + unsigned short :7; + unsigned short TENDE:1; + } BIT; + } D1FBCFG; + unsigned short CFIFO; + unsigned short CFIFO1; + unsigned short D0FIFO; + unsigned short D0FIFO1; + unsigned short D1FIFO; + unsigned short D1FIFO1; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short :2; + unsigned short MBW:2; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :2; + unsigned short ISEL:1; + unsigned short :1; + unsigned short CURPIPE:4; + } BIT; + } CFIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :1; + unsigned short DTLN:12; + } BIT; + } CFIFOCTR; + char wk2[4]; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short DCLRM:1; + unsigned short DREQE:1; + unsigned short MBW:2; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :4; + unsigned short CURPIPE:4; + } BIT; + } D0FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :1; + unsigned short DTLN:12; + } BIT; + } D0FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short RCNT:1; + unsigned short REW:1; + unsigned short DCLRM:1; + unsigned short DREQE:1; + unsigned short MBW:2; + unsigned short :1; + unsigned short BIGEND:1; + unsigned short :4; + unsigned short CURPIPE:4; + } BIT; + } D1FIFOSEL; + union { + unsigned short WORD; + struct { + unsigned short BVAL:1; + unsigned short BCLR:1; + unsigned short FRDY:1; + unsigned short :1; + unsigned short DTLN:12; + } BIT; + } D1FIFOCTR; + union { + unsigned short WORD; + struct { + unsigned short VBSE:1; + unsigned short RSME:1; + unsigned short SOFE:1; + unsigned short DVSE:1; + unsigned short CTRE:1; + unsigned short BEMPE:1; + unsigned short NRDYE:1; + unsigned short BRDYE:1; + } BIT; + } INTENB0; + union { + unsigned short WORD; + struct { + unsigned short OVRCRE:1; + unsigned short BCHGE:1; + unsigned short :1; + unsigned short DTCHE:1; + unsigned short ATTCHE:1; + unsigned short :1; + unsigned short L1RSMENDE:1; + unsigned short LPMENDE:1; + unsigned short :1; + unsigned short EOFERRE:1; + unsigned short SIGNE:1; + unsigned short SACKE:1; + unsigned short :3; + unsigned short PDDETINTE:1; + } BIT; + } INTENB1; + char wk3[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BRDYE:1; + unsigned short PIPE8BRDYE:1; + unsigned short PIPE7BRDYE:1; + unsigned short PIPE6BRDYE:1; + unsigned short PIPE5BRDYE:1; + unsigned short PIPE4BRDYE:1; + unsigned short PIPE3BRDYE:1; + unsigned short PIPE2BRDYE:1; + unsigned short PIPE1BRDYE:1; + unsigned short PIPE0BRDYE:1; + } BIT; + } BRDYENB; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9NRDYE:1; + unsigned short PIPE8NRDYE:1; + unsigned short PIPE7NRDYE:1; + unsigned short PIPE6NRDYE:1; + unsigned short PIPE5NRDYE:1; + unsigned short PIPE4NRDYE:1; + unsigned short PIPE3NRDYE:1; + unsigned short PIPE2NRDYE:1; + unsigned short PIPE1NRDYE:1; + unsigned short PIPE0NRDYE:1; + } BIT; + } NRDYENB; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BEMPE:1; + unsigned short PIPE8BEMPE:1; + unsigned short PIPE7BEMPE:1; + unsigned short PIPE6BEMPE:1; + unsigned short PIPE5BEMPE:1; + unsigned short PIPE4BEMPE:1; + unsigned short PIPE3BEMPE:1; + unsigned short PIPE2BEMPE:1; + unsigned short PIPE1BEMPE:1; + unsigned short PIPE0BEMPE:1; + } BIT; + } BEMPENB; + union { + unsigned short WORD; + struct { + unsigned short :7; + unsigned short TRNENSEL:1; + unsigned short :1; + unsigned short BRDYM:1; + unsigned short INTL:1; + unsigned short EDGESTS:1; + unsigned short SOFM:2; + } BIT; + } SOFCFG; + union { + unsigned short WORD; + struct { + unsigned short HSEB:1; + unsigned short :3; + unsigned short repstart:1; + unsigned short :1; + unsigned short repsel1:1; + unsigned short repsel0:1; + unsigned short :2; + unsigned short clksel1:1; + unsigned short clksel0:1; + unsigned short cdpen:1; + unsigned short :1; + unsigned short pllreset:1; + unsigned short dirpd:1; + } BIT; + } PHYSET; + union { + unsigned short WORD; + struct { + unsigned short VBINT:1; + unsigned short RESM:1; + unsigned short SOFR:1; + unsigned short DVST:1; + unsigned short CTRT:1; + unsigned short BEMP:1; + unsigned short NRDY:1; + unsigned short BRDY:1; + unsigned short VBSTS:1; + unsigned short DVSQ:3; + unsigned short VALID:1; + unsigned short CTSQ:3; + } BIT; + } INTSTS0; + union { + unsigned short WORD; + struct { + unsigned short OVRCR:1; + unsigned short BCHG:1; + unsigned short :1; + unsigned short DTCH:1; + unsigned short ATTCH:1; + unsigned short :1; + unsigned short L1RSMEND:1; + unsigned short LPMEND:1; + unsigned short :1; + unsigned short EOFERR:1; + unsigned short SIGN:1; + unsigned short SACK:1; + unsigned short :3; + unsigned short PDDETINT:1; + } BIT; + } INTSTS1; + char wk4[2]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BRDY:1; + unsigned short PIPE8BRDY:1; + unsigned short PIPE7BRDY:1; + unsigned short PIPE6BRDY:1; + unsigned short PIPE5BRDY:1; + unsigned short PIPE4BRDY:1; + unsigned short PIPE3BRDY:1; + unsigned short PIPE2BRDY:1; + unsigned short PIPE1BRDY:1; + unsigned short PIPE0BRDY:1; + } BIT; + } BRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9NRDYE:1; + unsigned short PIPE8NRDYE:1; + unsigned short PIPE7NRDYE:1; + unsigned short PIPE6NRDYE:1; + unsigned short PIPE5NRDYE:1; + unsigned short PIPE4NRDYE:1; + unsigned short PIPE3NRDYE:1; + unsigned short PIPE2NRDYE:1; + unsigned short PIPE1NRDYE:1; + unsigned short PIPE0NRDYE:1; + } BIT; + } NRDYSTS; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PIPE9BEMPE:1; + unsigned short PIPE8BEMPE:1; + unsigned short PIPE7BENP:1; + unsigned short PIPE6BENP:1; + unsigned short PIPE5BENP:1; + unsigned short PIPE4BENP:1; + unsigned short PIPE3BENP:1; + unsigned short PIPE2BENP:1; + unsigned short PIPE1BENP:1; + unsigned short PIPE0BENP:1; + } BIT; + } BEMPSTS; + union { + unsigned short WORD; + struct { + unsigned short OVRN:1; + unsigned short CRCE:1; + unsigned short :3; + unsigned short FRNM:11; + } BIT; + } FRMNUM; + union { + unsigned short WORD; + struct { + unsigned short :13; + unsigned short UFRNM:3; + } BIT; + } UFRMNUM; + union { + unsigned short WORD; + struct { + unsigned short :9; + unsigned short USBADDR:7; + } BIT; + } USBADDR; + char wk5[2]; + union { + unsigned short WORD; + struct { + unsigned short BREQUEST:8; + unsigned short BMREQUESTTYPE:8; + } BIT; + } USBREQ; + unsigned short USBVAL; + unsigned short USBINDX; + unsigned short USBLENG; + union { + unsigned short WORD; + struct { + unsigned short :11; + unsigned short DIR:1; + } BIT; + } DCPCFG; + union { + unsigned short WORD; + struct { + unsigned short DEVSEL:4; + unsigned short :5; + unsigned short MXPS:7; + } BIT; + } DCPMAXP; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short SUREQ:1; + unsigned short CSCLR:1; + unsigned short CSSTS:1; + unsigned short SUREQCLR:1; + unsigned short :2; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short PINGE:1; + unsigned short :1; + unsigned short CCPL:1; + unsigned short PID:2; + } BIT; + } DCPCTR; + char wk6[2]; + union { + unsigned short WORD; + struct { + unsigned short :12; + unsigned short PIPESEL:4; + } BIT; + } PIPESEL; + char wk7[2]; + union { + unsigned short WORD; + struct { + unsigned short TYPE:2; + unsigned short :3; + unsigned short BFRE:1; + unsigned short DBLB:1; + unsigned short CNTMD:1; + unsigned short SHTNAK:1; + unsigned short :2; + unsigned short DIR:1; + unsigned short EPNUM:4; + } BIT; + } PIPECFG; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short BUFSIZE:5; + unsigned short :2; + unsigned short BUFNMB:8; + } BIT; + } PIPEBUF; + union { + unsigned short WORD; + struct { + unsigned short DEVSEL:4; + unsigned short :1; + unsigned short MXPS:11; + } BIT; + } PIPEMAXP; + union { + unsigned short WORD; + struct { + unsigned short :3; + unsigned short IFIS:1; + unsigned short :9; + unsigned short IITV:3; + } BIT; + } PIPEPERI; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short CSCLR:1; + unsigned short CSSTS:1; + unsigned short :1; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE1CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short CSCLR:1; + unsigned short CSSTS:1; + unsigned short :1; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE2CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short CSCLR:1; + unsigned short CSSTS:1; + unsigned short :1; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE3CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short CSCLR:1; + unsigned short CSSTS:1; + unsigned short :1; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE4CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short CSCLR:1; + unsigned short CSSTS:1; + unsigned short :1; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE5CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short CSCLR:1; + unsigned short CSSTS:1; + unsigned short :1; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE6CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short CSCLR:1; + unsigned short CSSTS:1; + unsigned short :1; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE7CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short CSCLR:1; + unsigned short CSSTS:1; + unsigned short :1; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE8CTR; + union { + unsigned short WORD; + struct { + unsigned short BSTS:1; + unsigned short INBUFM:1; + unsigned short CSCLR:1; + unsigned short CSSTS:1; + unsigned short :1; + unsigned short ATREPM:1; + unsigned short ACLRM:1; + unsigned short SQCLR:1; + unsigned short SQSET:1; + unsigned short SQMON:1; + unsigned short PBUSY:1; + unsigned short :3; + unsigned short PID:2; + } BIT; + } PIPE9CTR; + char wk8[14]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE1TRE; + union { + unsigned short WORD; + struct { + unsigned short TRNCNT:16; + } BIT; + } PIPE1TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE2TRE; + union { + unsigned short WORD; + struct { + unsigned short TRNCNT:16; + } BIT; + } PIPE2TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE3TRE; + union { + unsigned short WORD; + struct { + unsigned short TRNCNT:16; + } BIT; + } PIPE3TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE4TRE; + union { + unsigned short WORD; + struct { + unsigned short TRNCNT:16; + } BIT; + } PIPE4TRN; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short TRENB:1; + unsigned short TRCLR:1; + } BIT; + } PIPE5TRE; + union { + unsigned short WORD; + struct { + unsigned short TRNCNT:16; + } BIT; + } PIPE5TRN; + char wk9[44]; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short UPPHUB:4; + unsigned short HUBPORT:3; + unsigned short USBSPD:2; + } BIT; + } DEVADD0; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short UPPHUB:4; + unsigned short HUBPORT:3; + unsigned short USBSPD:2; + } BIT; + } DEVADD1; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short UPPHUB:4; + unsigned short HUBPORT:3; + unsigned short USBSPD:2; + } BIT; + } DEVADD2; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short UPPHUB:4; + unsigned short HUBPORT:3; + unsigned short USBSPD:2; + } BIT; + } DEVADD3; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short UPPHUB:4; + unsigned short HUBPORT:3; + unsigned short USBSPD:2; + } BIT; + } DEVADD4; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short UPPHUB:4; + unsigned short HUBPORT:3; + unsigned short USBSPD:2; + } BIT; + } DEVADD5; + char wk10[36]; + union { + unsigned short WORD; + struct { + unsigned short :8; + unsigned short HWLPM:1; + } BIT; + } LPCTRL; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short SUSPENDM:1; + } BIT; + } LPSTS; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short SUSMON:1; + unsigned short :1; + unsigned short OPMODE:2; + unsigned short TERMSEL:1; + unsigned short XCVRSEL:2; + } BIT; + } PHYFUNCTR; + char wk11[4]; + union { + unsigned short WORD; + struct { + unsigned short :5; + unsigned short DMPUDWN:1; + unsigned short DPPUDWN:1; + } BIT; + } PHYOTGCTR; + char wk12[52]; + union { + unsigned short WORD; + struct { + unsigned short :6; + unsigned short PDDETSTS:1; + unsigned short CHGDETSTS:1; + unsigned short :2; + unsigned short DCPMODE:1; + unsigned short VDMSRCE:1; + unsigned short IDPSINKE:1; + unsigned short VDPSRCE:1; + unsigned short IDMSINKE:1; + unsigned short IDPSRCE:1; + } BIT; + } BCCTRL; + char wk13[14]; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short impoffset2:1; + unsigned short impoffset1:1; + unsigned short impoffset0:1; + unsigned short hsiup3:1; + unsigned short hsiup2:1; + unsigned short hsiup1:1; + unsigned short hsiup0:1; + unsigned short pcompenb:1; + unsigned short :3; + unsigned short dfall1:1; + unsigned short dfall0:1; + unsigned short drise1:1; + unsigned short drise0:1; + } BIT; + } PHYTRIM1; + union { + unsigned short WORD; + struct { + unsigned short :1; + unsigned short dis2:1; + unsigned short dis1:1; + unsigned short dis0:1; + unsigned short :2; + unsigned short prd1:1; + unsigned short prd0:1; + unsigned short hsrxenmode:1; + unsigned short :3; + unsigned short squ3:1; + unsigned short squ2:1; + unsigned short squ1:1; + unsigned short squ0:1; + } BIT; + } PHYTRIM2; + char wk14[12]; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long DVBSTS:1; + unsigned long :1; + unsigned long DOVCB:1; + unsigned long DOVCA:1; + unsigned long :2; + unsigned long DM:1; + unsigned long DP:1; + unsigned long :11; + unsigned long FIXPHY:1; + unsigned long :3; + unsigned long SRPC:1; + } BIT; + } DPUSR0R; + union { + unsigned long LONG; + struct { + unsigned long :8; + unsigned long DVBINT:1; + unsigned long :1; + unsigned long DOVRCRB:1; + unsigned long DOVRCRA:1; + unsigned long :2; + unsigned long DMINT:1; + unsigned long DPINT:1; + unsigned long :8; + unsigned long DVBSE:1; + unsigned long :1; + unsigned long DOVRCRBE:1; + unsigned long DOVRCRAE:1; + unsigned long :2; + unsigned long DMINTE:1; + unsigned long DPINTE:1; + } BIT; + } DPUSR1R; +}; + +struct st_wdt { + unsigned char WDTRR; + char wk0[1]; + union { + unsigned short WORD; + struct { + unsigned short :2; + unsigned short RPSS:2; + unsigned short :2; + unsigned short RPES:2; + unsigned short CKS:4; + unsigned short :2; + unsigned short TOPS:2; + } BIT; + } WDTCR; + union { + unsigned short WORD; + struct { + unsigned short REFEF:1; + unsigned short UNDFF:1; + unsigned short CNTVAL:14; + } BIT; + } WDTSR; + union { + unsigned char BYTE; + struct { + unsigned char RSTIRQS:1; + } BIT; + } WDTRCR; +}; + +enum enum_ir { +IR_BSC_BUSERR=16,IR_RAM_RAMERR=18, +IR_FCU_FIFERR=21,IR_FCU_FRDYI=23, +IR_ICU_SWINT2=26,IR_ICU_SWINT, +IR_CMT0_CMI0, +IR_CMT1_CMI1, +IR_CMTW0_CMWI0, +IR_CMTW_CMWI1, +IR_USBHS_D0FIFO2,IR_USBHS_D1FIFO2, +IR_USB0_D0FIFO0,IR_USB0_D1FIFO0, +IR_RSPI0_SPRI0=38,IR_RSPI0_SPTI0, +IR_QSPI_SPRI=42,IR_QSPI_SPTI, +IR_SDHI_SBFAI, +IR_MMC_MBFAI, +IR_SSI0_SSITXI0,IR_SSI0_SSIRXI0, +IR_SSI1_SSIRTI1, +IR_SRC0_IDEI0=50,IR_SRC0_ODFI0, +IR_RIIC0_RXI0,IR_RIIC0_TXI0, +IR_RIIC2_RXI2,IR_RIIC2_TXI2, +IR_SCI0_RXI0=58,IR_SCI0_TXI0, +IR_SCI1_RXI1,IR_SCI1_TXI1, +IR_SCI2_RXI2,IR_SCI2_TXI2, +IR_ICU_IRQ0,IR_ICU_IRQ1,IR_ICU_IRQ2,IR_ICU_IRQ3,IR_ICU_IRQ4,IR_ICU_IRQ5,IR_ICU_IRQ6,IR_ICU_IRQ7,IR_ICU_IRQ8,IR_ICU_IRQ9,IR_ICU_IRQ10,IR_ICU_IRQ11,IR_ICU_IRQ12,IR_ICU_IRQ13,IR_ICU_IRQ14,IR_ICU_IRQ15, +IR_SCI3_RXI3,IR_SCI3_TXI3, +IR_SCI4_RXI4,IR_SCI4_TXI4, +IR_SCI5_RXI5,IR_SCI5_TXI5, +IR_SCI6_RXI6,IR_SCI6_TXI6, +IR_LVD1_COMPA1, +IR_LVD2_COMPA2, +IR_USB0_USBR0, +IR_RTC_ALARM,IR_RTC_PRD, +IR_USBHS_HSUSBR, +IR_IWDT_IWUNI, +IR_WDT_WUNI, +IR_SCI7_RXI7,IR_SCI7_TXI7, +IR_SCIF8_RXIF8,IR_SCIF8_TXIF8, +IR_SCIF9_RXIF9,IR_SCIF9_TXIF9, +IR_SCIF10_RXIF10,IR_SCIF10_TXIF10, +IR_ICU_GROUPBE0,IR_ICU_GROUPBE1,IR_ICU_GROUPAE0,IR_ICU_GROUPAE1,IR_ICU_GROUPBL0,IR_ICU_GROUPBL1,IR_ICU_GROUPAL0,IR_ICU_GROUPAL1, +IR_SCIF11_RXIF11,IR_SCIF11_TXIF11, +IR_SCI12_RXI12,IR_SCI12_TXI12, +IR_DMAC_DMAC0I=120,IR_DMAC_DMAC1I,IR_DMAC_DMAC2I,IR_DMAC_DMAC3I,IR_DMAC_DMAC74I, +IR_ICU_OST, +IR_EXDMAC_EXDMAC0I,IR_EXDMAC_EXDMAC1I, +IR_PERIB128_INTB128, +IR_PERIB129_INTB129, +IR_PERIB130_INTB130, +IR_PERIB131_INTB131, +IR_PERIB132_INTB132, +IR_PERIB133_INTB133, +IR_PERIB134_INTB134, +IR_PERIB135_INTB135, +IR_PERIB136_INTB136, +IR_PERIB137_INTB137, +IR_PERIB138_INTB138, +IR_PERIB139_INTB139, +IR_PERIB140_INTB140, +IR_PERIB141_INTB141, +IR_PERIB142_INTB142, +IR_PERIB143_INTB143, +IR_PERIB144_INTB144, +IR_PERIB145_INTB145, +IR_PERIB146_INTB146, +IR_PERIB147_INTB147, +IR_PERIB148_INTB148, +IR_PERIB149_INTB149, +IR_PERIB150_INTB150, +IR_PERIB151_INTB151, +IR_PERIB152_INTB152, +IR_PERIB153_INTB153, +IR_PERIB154_INTB154, +IR_PERIB155_INTB155, +IR_PERIB156_INTB156, +IR_PERIB157_INTB157, +IR_PERIB158_INTB158, +IR_PERIB159_INTB159, +IR_PERIB160_INTB160, +IR_PERIB161_INTB161, +IR_PERIB162_INTB162, +IR_PERIB163_INTB163, +IR_PERIB164_INTB164, +IR_PERIB165_INTB165, +IR_PERIB166_INTB166, +IR_PERIB167_INTB167, +IR_PERIB168_INTB168, +IR_PERIB169_INTB169, +IR_PERIB170_INTB170, +IR_PERIB171_INTB171, +IR_PERIB172_INTB172, +IR_PERIB173_INTB173, +IR_PERIB174_INTB174, +IR_PERIB175_INTB175, +IR_PERIB176_INTB176, +IR_PERIB177_INTB177, +IR_PERIB178_INTB178, +IR_PERIB179_INTB179, +IR_PERIB180_INTB180, +IR_PERIB181_INTB181, +IR_PERIB182_INTB182, +IR_PERIB183_INTB183, +IR_PERIB184_INTB184, +IR_PERIB185_INTB185, +IR_PERIB186_INTB186, +IR_PERIB187_INTB187, +IR_PERIB188_INTB188, +IR_PERIB189_INTB189, +IR_PERIB190_INTB190, +IR_PERIB191_INTB191, +IR_PERIB192_INTB192, +IR_PERIB193_INTB193, +IR_PERIB194_INTB194, +IR_PERIB195_INTB195, +IR_PERIB196_INTB196, +IR_PERIB197_INTB197, +IR_PERIB198_INTB198, +IR_PERIB199_INTB199, +IR_PERIB200_INTB200, +IR_PERIB201_INTB201, +IR_PERIB202_INTB202, +IR_PERIB203_INTB203, +IR_PERIB204_INTB204, +IR_PERIB205_INTB205, +IR_PERIB206_INTB206, +IR_PERIB207_INTB207, +IR_PERIA208_INTA208, +IR_PERIA209_INTA209, +IR_PERIA210_INTA210, +IR_PERIA211_INTA211, +IR_PERIA212_INTA212, +IR_PERIA213_INTA213, +IR_PERIA214_INTA214, +IR_PERIA215_INTA215, +IR_PERIA216_INTA216, +IR_PERIA217_INTA217, +IR_PERIA218_INTA218, +IR_PERIA219_INTA219, +IR_PERIA220_INTA220, +IR_PERIA221_INTA221, +IR_PERIA222_INTA222, +IR_PERIA223_INTA223, +IR_PERIA224_INTA224, +IR_PERIA225_INTA225, +IR_PERIA226_INTA226, +IR_PERIA227_INTA227, +IR_PERIA228_INTA228, +IR_PERIA229_INTA229, +IR_PERIA230_INTA230, +IR_PERIA231_INTA231, +IR_PERIA232_INTA232, +IR_PERIA233_INTA233, +IR_PERIA234_INTA234, +IR_PERIA235_INTA235, +IR_PERIA236_INTA236, +IR_PERIA237_INTA237, +IR_PERIA238_INTA238, +IR_PERIA239_INTA239, +IR_PERIA240_INTA240, +IR_PERIA241_INTA241, +IR_PERIA242_INTA242, +IR_PERIA243_INTA243, +IR_PERIA244_INTA244, +IR_PERIA245_INTA245, +IR_PERIA246_INTA246, +IR_PERIA247_INTA247, +IR_PERIA248_INTA248, +IR_PERIA249_INTA249, +IR_PERIA250_INTA250, +IR_PERIA251_INTA251, +IR_PERIA252_INTA252, +IR_PERIA253_INTA253, +IR_PERIA254_INTA254, +IR_PERIA255_INTA255 +}; + +enum enum_dtce { +DTCE_ICU_SWINT2=26,DTCE_ICU_SWINT, +DTCE_CMT0_CMI0, +DTCE_CMT1_CMI1, +DTCE_CMTW0_CMWI0, +DTCE_CMTW_CMWI1, +DTCE_USBHS_D0FIFO2,DTCE_USBHS_D1FIFO2, +DTCE_USB0_D0FIFO0,DTCE_USB0_D1FIFO0, +DTCE_RSPI0_SPRI0=38,DTCE_RSPI0_SPTI0, +DTCE_QSPI_SPRI=42,DTCE_QSPI_SPTI, +DTCE_SDHI_SBFAI, +DTCE_MMC_MBFAI, +DTCE_SSI0_SSITXI0,DTCE_SSI0_SSIRXI0, +DTCE_SSI1_SSIRTI1, +DTCE_SRC0_IDEI0=50,DTCE_SRC0_ODFI0, +DTCE_RIIC0_RXI0,DTCE_RIIC0_TXI0, +DTCE_RIIC2_RXI2,DTCE_RIIC2_TXI2, +DTCE_SCI0_RXI0=58,DTCE_SCI0_TXI0, +DTCE_SCI1_RXI1,DTCE_SCI1_TXI1, +DTCE_SCI2_RXI2,DTCE_SCI2_TXI2, +DTCE_ICU_IRQ0,DTCE_ICU_IRQ1,DTCE_ICU_IRQ2,DTCE_ICU_IRQ3,DTCE_ICU_IRQ4,DTCE_ICU_IRQ5,DTCE_ICU_IRQ6,DTCE_ICU_IRQ7,DTCE_ICU_IRQ8,DTCE_ICU_IRQ9,DTCE_ICU_IRQ10,DTCE_ICU_IRQ11,DTCE_ICU_IRQ12,DTCE_ICU_IRQ13,DTCE_ICU_IRQ14,DTCE_ICU_IRQ15, +DTCE_SCI3_RXI3,DTCE_SCI3_TXI3, +DTCE_SCI4_RXI4,DTCE_SCI4_TXI4, +DTCE_SCI5_RXI5,DTCE_SCI5_TXI5, +DTCE_SCI6_RXI6,DTCE_SCI6_TXI6, +DTCE_PDC_PCDFI=97, +DTCE_SCI7_RXI7,DTCE_SCI7_TXI7, +DTCE_SCIF8_RXIF8,DTCE_SCIF8_TXIF8, +DTCE_SCIF9_RXIF9,DTCE_SCIF9_TXIF9, +DTCE_SCIF10_RXIF10,DTCE_SCIF10_TXIF10, +DTCE_SCIF11_RXIF11=114,DTCE_SCIF11_TXIF11, +DTCE_SCI12_RXI12,DTCE_SCI12_TXI12, +DTCE_DMAC_DMAC0I=120,DTCE_DMAC_DMAC1I,DTCE_DMAC_DMAC2I,DTCE_DMAC_DMAC3I, +DTCE_EXDMAC_EXDMAC0I=126,DTCE_EXDMAC_EXDMAC1I, +DTCE_PERIB128_INTB128, +DTCE_PERIB129_INTB129, +DTCE_PERIB130_INTB130, +DTCE_PERIB131_INTB131, +DTCE_PERIB132_INTB132, +DTCE_PERIB133_INTB133, +DTCE_PERIB134_INTB134, +DTCE_PERIB135_INTB135, +DTCE_PERIB136_INTB136, +DTCE_PERIB137_INTB137, +DTCE_PERIB138_INTB138, +DTCE_PERIB139_INTB139, +DTCE_PERIB140_INTB140, +DTCE_PERIB141_INTB141, +DTCE_PERIB142_INTB142, +DTCE_PERIB143_INTB143, +DTCE_PERIB144_INTB144, +DTCE_PERIB145_INTB145, +DTCE_PERIB146_INTB146, +DTCE_PERIB147_INTB147, +DTCE_PERIB148_INTB148, +DTCE_PERIB149_INTB149, +DTCE_PERIB150_INTB150, +DTCE_PERIB151_INTB151, +DTCE_PERIB152_INTB152, +DTCE_PERIB153_INTB153, +DTCE_PERIB154_INTB154, +DTCE_PERIB155_INTB155, +DTCE_PERIB156_INTB156, +DTCE_PERIB157_INTB157, +DTCE_PERIB158_INTB158, +DTCE_PERIB159_INTB159, +DTCE_PERIB160_INTB160, +DTCE_PERIB161_INTB161, +DTCE_PERIB162_INTB162, +DTCE_PERIB163_INTB163, +DTCE_PERIB164_INTB164, +DTCE_PERIB165_INTB165, +DTCE_PERIB166_INTB166, +DTCE_PERIB167_INTB167, +DTCE_PERIB168_INTB168, +DTCE_PERIB169_INTB169, +DTCE_PERIB170_INTB170, +DTCE_PERIB171_INTB171, +DTCE_PERIB172_INTB172, +DTCE_PERIB173_INTB173, +DTCE_PERIB174_INTB174, +DTCE_PERIB175_INTB175, +DTCE_PERIB176_INTB176, +DTCE_PERIB177_INTB177, +DTCE_PERIB178_INTB178, +DTCE_PERIB179_INTB179, +DTCE_PERIB180_INTB180, +DTCE_PERIB181_INTB181, +DTCE_PERIB182_INTB182, +DTCE_PERIB183_INTB183, +DTCE_PERIB184_INTB184, +DTCE_PERIB185_INTB185, +DTCE_PERIB186_INTB186, +DTCE_PERIB187_INTB187, +DTCE_PERIB188_INTB188, +DTCE_PERIB189_INTB189, +DTCE_PERIB190_INTB190, +DTCE_PERIB191_INTB191, +DTCE_PERIB192_INTB192, +DTCE_PERIB193_INTB193, +DTCE_PERIB194_INTB194, +DTCE_PERIB195_INTB195, +DTCE_PERIB196_INTB196, +DTCE_PERIB197_INTB197, +DTCE_PERIB198_INTB198, +DTCE_PERIB199_INTB199, +DTCE_PERIB200_INTB200, +DTCE_PERIB201_INTB201, +DTCE_PERIB202_INTB202, +DTCE_PERIB203_INTB203, +DTCE_PERIB204_INTB204, +DTCE_PERIB205_INTB205, +DTCE_PERIB206_INTB206, +DTCE_PERIB207_INTB207, +DTCE_PERIA208_INTA208, +DTCE_PERIA209_INTA209, +DTCE_PERIA210_INTA210, +DTCE_PERIA211_INTA211, +DTCE_PERIA212_INTA212, +DTCE_PERIA213_INTA213, +DTCE_PERIA214_INTA214, +DTCE_PERIA215_INTA215, +DTCE_PERIA216_INTA216, +DTCE_PERIA217_INTA217, +DTCE_PERIA218_INTA218, +DTCE_PERIA219_INTA219, +DTCE_PERIA220_INTA220, +DTCE_PERIA221_INTA221, +DTCE_PERIA222_INTA222, +DTCE_PERIA223_INTA223, +DTCE_PERIA224_INTA224, +DTCE_PERIA225_INTA225, +DTCE_PERIA226_INTA226, +DTCE_PERIA227_INTA227, +DTCE_PERIA228_INTA228, +DTCE_PERIA229_INTA229, +DTCE_PERIA230_INTA230, +DTCE_PERIA231_INTA231, +DTCE_PERIA232_INTA232, +DTCE_PERIA233_INTA233, +DTCE_PERIA234_INTA234, +DTCE_PERIA235_INTA235, +DTCE_PERIA236_INTA236, +DTCE_PERIA237_INTA237, +DTCE_PERIA238_INTA238, +DTCE_PERIA239_INTA239, +DTCE_PERIA240_INTA240, +DTCE_PERIA241_INTA241, +DTCE_PERIA242_INTA242, +DTCE_PERIA243_INTA243, +DTCE_PERIA244_INTA244, +DTCE_PERIA245_INTA245, +DTCE_PERIA246_INTA246, +DTCE_PERIA247_INTA247, +DTCE_PERIA248_INTA248, +DTCE_PERIA249_INTA249, +DTCE_PERIA250_INTA250, +DTCE_PERIA251_INTA251, +DTCE_PERIA252_INTA252, +DTCE_PERIA253_INTA253, +DTCE_PERIA254_INTA254, +DTCE_PERIA255_INTA255 +}; + +enum enum_ier { +IER_BSC_BUSERR=0x02, +IER_RAM_RAMERR=0x02, +IER_FCU_FIFERR=0x02,IER_FCU_FRDYI=0x02, +IER_ICU_SWINT2=0x03,IER_ICU_SWINT=0x03, +IER_CMT0_CMI0=0x03, +IER_CMT1_CMI1=0x03, +IER_CMTW0_CMWI0=0x03, +IER_CMTW_CMWI1=0x03, +IER_USBHS_D0FIFO2=0x04,IER_USBHS_D1FIFO2=0x04, +IER_USB0_D0FIFO0=0x04,IER_USB0_D1FIFO0=0x04, +IER_RSPI0_SPRI0=0x04,IER_RSPI0_SPTI0=0x04, +IER_QSPI_SPRI=0x05,IER_QSPI_SPTI=0x05, +IER_SDHI_SBFAI=0x05, +IER_MMC_MBFAI=0x05, +IER_SSI0_SSITXI0=0x05,IER_SSI0_SSIRXI0=0x05, +IER_SSI1_SSIRTI1=0x06, +IER_SRC0_IDEI0=0x06,IER_SRC0_ODFI0=0x06, +IER_RIIC0_RXI0=0x06,IER_RIIC0_TXI0=0x06, +IER_RIIC2_RXI2=0x06,IER_RIIC2_TXI2=0x06, +IER_SCI0_RXI0=0x07,IER_SCI0_TXI0=0x07, +IER_SCI1_RXI1=0x07,IER_SCI1_TXI1=0x07, +IER_SCI2_RXI2=0x07,IER_SCI2_TXI2=0x07, +IER_ICU_IRQ0=0x08,IER_ICU_IRQ1=0x08,IER_ICU_IRQ2=0x08,IER_ICU_IRQ3=0x08,IER_ICU_IRQ4=0x08,IER_ICU_IRQ5=0x08,IER_ICU_IRQ6=0x08,IER_ICU_IRQ7=0x08,IER_ICU_IRQ8=0x09,IER_ICU_IRQ9=0x09,IER_ICU_IRQ10=0x09,IER_ICU_IRQ11=0x09,IER_ICU_IRQ12=0x09,IER_ICU_IRQ13=0x09,IER_ICU_IRQ14=0x09,IER_ICU_IRQ15=0x09, +IER_SCI3_RXI3=0x0A,IER_SCI3_TXI3=0x0A, +IER_SCI4_RXI4=0x0A,IER_SCI4_TXI4=0x0A, +IER_SCI5_RXI5=0x0A,IER_SCI5_TXI5=0x0A, +IER_SCI6_RXI6=0x0A,IER_SCI6_TXI6=0x0A, +IER_LVD1_COMPA1=0x0B, +IER_LVD2_COMPA2=0x0B, +IER_USB0_USBR0=0x0B, +IER_RTC_ALARM=0x0B,IER_RTC_PRD=0x0B, +IER_USBHS_HSUSBR=0x0B, +IER_IWDT_IWUNI=0x0B, +IER_WDT_WUNI=0x0C, +IER_PDC_PCDFI=0x0C, +IER_SCI7_RXI7=0x0C,IER_SCI7_TXI7=0x0C, +IER_SCIF8_RXIF8=0x0C,IER_SCIF8_TXIF8=0x0C, +IER_SCIF9_RXIF9=0x0C,IER_SCIF9_TXIF9=0x0C, +IER_SCIF10_RXIF10=0x0D,IER_SCIF10_TXIF10=0x0D, +IER_ICU_GROUPBE0=0x0D,IER_ICU_GROUPBE1=0x0D,IER_ICU_GROUPAE0=0x0D,IER_ICU_GROUPAE1=0x0D,IER_ICU_GROUPBL0=0x0D,IER_ICU_GROUPBL1=0x0D,IER_ICU_GROUPAL0=0x0E,IER_ICU_GROUPAL1=0x0E, +IER_SCIF11_RXIF11=0x0E,IER_SCIF11_TXIF11=0x0E, +IER_SCI12_RXI12=0x0E,IER_SCI12_TXI12=0x0E, +IER_DMAC_DMAC0I=0x0F,IER_DMAC_DMAC1I=0x0F,IER_DMAC_DMAC2I=0x0F,IER_DMAC_DMAC3I=0x0F,IER_DMAC_DMAC74I=0x0F, +IER_ICU_OST=0x0F, +IER_EXDMAC_EXDMAC0I=0x0F,IER_EXDMAC_EXDMAC1I=0x0F, +IER_PERIB128_INTB128=0x10, +IER_PERIB129_INTB129=0x10, +IER_PERIB130_INTB130=0x10, +IER_PERIB131_INTB131=0x10, +IER_PERIB132_INTB132=0x10, +IER_PERIB133_INTB133=0x10, +IER_PERIB134_INTB134=0x10, +IER_PERIB135_INTB135=0x10, +IER_PERIB136_INTB136=0x11, +IER_PERIB137_INTB137=0x11, +IER_PERIB138_INTB138=0x11, +IER_PERIB139_INTB139=0x11, +IER_PERIB140_INTB140=0x11, +IER_PERIB141_INTB141=0x11, +IER_PERIB142_INTB142=0x11, +IER_PERIB143_INTB143=0x11, +IER_PERIB144_INTB144=0x12, +IER_PERIB145_INTB145=0x12, +IER_PERIB146_INTB146=0x12, +IER_PERIB147_INTB147=0x12, +IER_PERIB148_INTB148=0x12, +IER_PERIB149_INTB149=0x12, +IER_PERIB150_INTB150=0x12, +IER_PERIB151_INTB151=0x12, +IER_PERIB152_INTB152=0x13, +IER_PERIB153_INTB153=0x13, +IER_PERIB154_INTB154=0x13, +IER_PERIB155_INTB155=0x13, +IER_PERIB156_INTB156=0x13, +IER_PERIB157_INTB157=0x13, +IER_PERIB158_INTB158=0x13, +IER_PERIB159_INTB159=0x13, +IER_PERIB160_INTB160=0x14, +IER_PERIB161_INTB161=0x14, +IER_PERIB162_INTB162=0x14, +IER_PERIB163_INTB163=0x14, +IER_PERIB164_INTB164=0x14, +IER_PERIB165_INTB165=0x14, +IER_PERIB166_INTB166=0x14, +IER_PERIB167_INTB167=0x14, +IER_PERIB168_INTB168=0x15, +IER_PERIB169_INTB169=0x15, +IER_PERIB170_INTB170=0x15, +IER_PERIB171_INTB171=0x15, +IER_PERIB172_INTB172=0x15, +IER_PERIB173_INTB173=0x15, +IER_PERIB174_INTB174=0x15, +IER_PERIB175_INTB175=0x15, +IER_PERIB176_INTB176=0x16, +IER_PERIB177_INTB177=0x16, +IER_PERIB178_INTB178=0x16, +IER_PERIB179_INTB179=0x16, +IER_PERIB180_INTB180=0x16, +IER_PERIB181_INTB181=0x16, +IER_PERIB182_INTB182=0x16, +IER_PERIB183_INTB183=0x16, +IER_PERIB184_INTB184=0x17, +IER_PERIB185_INTB185=0x17, +IER_PERIB186_INTB186=0x17, +IER_PERIB187_INTB187=0x17, +IER_PERIB188_INTB188=0x17, +IER_PERIB189_INTB189=0x17, +IER_PERIB190_INTB190=0x17, +IER_PERIB191_INTB191=0x17, +IER_PERIB192_INTB192=0x18, +IER_PERIB193_INTB193=0x18, +IER_PERIB194_INTB194=0x18, +IER_PERIB195_INTB195=0x18, +IER_PERIB196_INTB196=0x18, +IER_PERIB197_INTB197=0x18, +IER_PERIB198_INTB198=0x18, +IER_PERIB199_INTB199=0x18, +IER_PERIB200_INTB200=0x19, +IER_PERIB201_INTB201=0x19, +IER_PERIB202_INTB202=0x19, +IER_PERIB203_INTB203=0x19, +IER_PERIB204_INTB204=0x19, +IER_PERIB205_INTB205=0x19, +IER_PERIB206_INTB206=0x19, +IER_PERIB207_INTB207=0x19, +IER_PERIA208_INTA208=0x1A, +IER_PERIA209_INTA209=0x1A, +IER_PERIA210_INTA210=0x1A, +IER_PERIA211_INTA211=0x1A, +IER_PERIA212_INTA212=0x1A, +IER_PERIA213_INTA213=0x1A, +IER_PERIA214_INTA214=0x1A, +IER_PERIA215_INTA215=0x1A, +IER_PERIA216_INTA216=0x1B, +IER_PERIA217_INTA217=0x1B, +IER_PERIA218_INTA218=0x1B, +IER_PERIA219_INTA219=0x1B, +IER_PERIA220_INTA220=0x1B, +IER_PERIA221_INTA221=0x1B, +IER_PERIA222_INTA222=0x1B, +IER_PERIA223_INTA223=0x1B, +IER_PERIA224_INTA224=0x1C, +IER_PERIA225_INTA225=0x1C, +IER_PERIA226_INTA226=0x1C, +IER_PERIA227_INTA227=0x1C, +IER_PERIA228_INTA228=0x1C, +IER_PERIA229_INTA229=0x1C, +IER_PERIA230_INTA230=0x1C, +IER_PERIA231_INTA231=0x1C, +IER_PERIA232_INTA232=0x1D, +IER_PERIA233_INTA233=0x1D, +IER_PERIA234_INTA234=0x1D, +IER_PERIA235_INTA235=0x1D, +IER_PERIA236_INTA236=0x1D, +IER_PERIA237_INTA237=0x1D, +IER_PERIA238_INTA238=0x1D, +IER_PERIA239_INTA239=0x1D, +IER_PERIA240_INTA240=0x1E, +IER_PERIA241_INTA241=0x1E, +IER_PERIA242_INTA242=0x1E, +IER_PERIA243_INTA243=0x1E, +IER_PERIA244_INTA244=0x1E, +IER_PERIA245_INTA245=0x1E, +IER_PERIA246_INTA246=0x1E, +IER_PERIA247_INTA247=0x1E, +IER_PERIA248_INTA248=0x1F, +IER_PERIA249_INTA249=0x1F, +IER_PERIA250_INTA250=0x1F, +IER_PERIA251_INTA251=0x1F, +IER_PERIA252_INTA252=0x1F, +IER_PERIA253_INTA253=0x1F, +IER_PERIA254_INTA254=0x1F, +IER_PERIA255_INTA255=0x1F +}; + +enum enum_ipr { +IPR_BSC_BUSERR=0, +IPR_RAM_RAMERR=0, +IPR_FCU_FIFERR=1,IPR_FCU_FRDYI=2, +IPR_ICU_SWINT2=3,IPR_ICU_SWINT=3, +IPR_CMT0_CMI0=4, +IPR_CMT1_CMI1=5, +IPR_CMTW0_CMWI0=6, +IPR_CMTW_CMWI1=7, +IPR_USBHS_D0FIFO2=32,IPR_USBHS_D1FIFO2=33, +IPR_USB0_D0FIFO0=34,IPR_USB0_D1FIFO0=35, +IPR_RSPI0_SPRI0=38,IPR_RSPI0_SPTI0=39, +IPR_QSPI_SPRI=42,IPR_QSPI_SPTI=43, +IPR_SDHI_SBFAI=44, +IPR_MMC_MBFAI=45, +IPR_SSI0_SSITXI0=46,IPR_SSI0_SSIRXI0=47, +IPR_SSI1_SSIRTI1=48, +IPR_SRC0_IDEI0=50,IPR_SRC0_ODFI0=51, +IPR_RIIC0_RXI0=52,IPR_RIIC0_TXI0=53, +IPR_RIIC2_RXI2=54,IPR_RIIC2_TXI2=55, +IPR_SCI0_RXI0=58,IPR_SCI0_TXI0=59, +IPR_SCI1_RXI1=60,IPR_SCI1_TXI1=61, +IPR_SCI2_RXI2=62,IPR_SCI2_TXI2=63, +IPR_ICU_IRQ0=64,IPR_ICU_IRQ1=65,IPR_ICU_IRQ2=66,IPR_ICU_IRQ3=67,IPR_ICU_IRQ4=68,IPR_ICU_IRQ5=69,IPR_ICU_IRQ6=70,IPR_ICU_IRQ7=71,IPR_ICU_IRQ8=72,IPR_ICU_IRQ9=73,IPR_ICU_IRQ10=74,IPR_ICU_IRQ11=75,IPR_ICU_IRQ12=76,IPR_ICU_IRQ13=77,IPR_ICU_IRQ14=78,IPR_ICU_IRQ15=79, +IPR_SCI3_RXI3=80,IPR_SCI3_TXI3=81, +IPR_SCI4_RXI4=82,IPR_SCI4_TXI4=83, +IPR_SCI5_RXI5=84,IPR_SCI5_TXI5=85, +IPR_SCI6_RXI6=86,IPR_SCI6_TXI6=87, +IPR_LVD1_COMPA1=88, +IPR_LVD2_COMPA2=89, +IPR_USB0_USBR0=90, +IPR_RTC_ALARM=92,IPR_RTC_PRD=93, +IPR_USBHS_HSUSBR=94, +IPR_IWDT_IWUNI=95, +IPR_WDT_WUNI=96, +IPR_PDC_PCDFI=97, +IPR_SCI7_RXI7=98,IPR_SCI7_TXI7=99, +IPR_SCIF8_RXIF8=100,IPR_SCIF8_TXIF8=101, +IPR_SCIF9_RXIF9=102,IPR_SCIF9_TXIF9=103, +IPR_SCIF10_RXIF10=104,IPR_SCIF10_TXIF10=105, +IPR_ICU_GROUPBE0=106,IPR_ICU_GROUPBE1=107,IPR_ICU_GROUPAE0=108,IPR_ICU_GROUPAE1=109,IPR_ICU_GROUPBL0=110,IPR_ICU_GROUPBL1=111,IPR_ICU_GROUPAL0=112,IPR_ICU_GROUPAL1=113, +IPR_SCIF11_RXIF11=114,IPR_SCIF11_TXIF11=115, +IPR_SCI12_RXI12=116,IPR_SCI12_TXI12=117, +IPR_DMAC_DMAC0I=120,IPR_DMAC_DMAC1I=121,IPR_DMAC_DMAC2I=122,IPR_DMAC_DMAC3I=123,IPR_DMAC_DMAC74I=124, +IPR_ICU_OST=125, +IPR_EXDMAC_EXDMAC0I=126,IPR_EXDMAC_EXDMAC1I=127, +IPR_PERIB128_INTB128=128, +IPR_PERIB129_INTB129=129, +IPR_PERIB130_INTB130=130, +IPR_PERIB131_INTB131=131, +IPR_PERIB132_INTB132=132, +IPR_PERIB133_INTB133=133, +IPR_PERIB134_INTB134=134, +IPR_PERIB135_INTB135=135, +IPR_PERIB136_INTB136=136, +IPR_PERIB137_INTB137=137, +IPR_PERIB138_INTB138=138, +IPR_PERIB139_INTB139=139, +IPR_PERIB140_INTB140=140, +IPR_PERIB141_INTB141=141, +IPR_PERIB142_INTB142=142, +IPR_PERIB143_INTB143=143, +IPR_PERIB144_INTB144=144, +IPR_PERIB145_INTB145=145, +IPR_PERIB146_INTB146=146, +IPR_PERIB147_INTB147=147, +IPR_PERIB148_INTB148=148, +IPR_PERIB149_INTB149=149, +IPR_PERIB150_INTB150=150, +IPR_PERIB151_INTB151=151, +IPR_PERIB152_INTB152=152, +IPR_PERIB153_INTB153=153, +IPR_PERIB154_INTB154=154, +IPR_PERIB155_INTB155=155, +IPR_PERIB156_INTB156=156, +IPR_PERIB157_INTB157=157, +IPR_PERIB158_INTB158=158, +IPR_PERIB159_INTB159=159, +IPR_PERIB160_INTB160=160, +IPR_PERIB161_INTB161=161, +IPR_PERIB162_INTB162=162, +IPR_PERIB163_INTB163=163, +IPR_PERIB164_INTB164=164, +IPR_PERIB165_INTB165=165, +IPR_PERIB166_INTB166=166, +IPR_PERIB167_INTB167=167, +IPR_PERIB168_INTB168=168, +IPR_PERIB169_INTB169=169, +IPR_PERIB170_INTB170=170, +IPR_PERIB171_INTB171=171, +IPR_PERIB172_INTB172=172, +IPR_PERIB173_INTB173=173, +IPR_PERIB174_INTB174=174, +IPR_PERIB175_INTB175=175, +IPR_PERIB176_INTB176=176, +IPR_PERIB177_INTB177=177, +IPR_PERIB178_INTB178=178, +IPR_PERIB179_INTB179=179, +IPR_PERIB180_INTB180=180, +IPR_PERIB181_INTB181=181, +IPR_PERIB182_INTB182=182, +IPR_PERIB183_INTB183=183, +IPR_PERIB184_INTB184=184, +IPR_PERIB185_INTB185=185, +IPR_PERIB186_INTB186=186, +IPR_PERIB187_INTB187=187, +IPR_PERIB188_INTB188=188, +IPR_PERIB189_INTB189=189, +IPR_PERIB190_INTB190=190, +IPR_PERIB191_INTB191=191, +IPR_PERIB192_INTB192=192, +IPR_PERIB193_INTB193=193, +IPR_PERIB194_INTB194=194, +IPR_PERIB195_INTB195=195, +IPR_PERIB196_INTB196=196, +IPR_PERIB197_INTB197=197, +IPR_PERIB198_INTB198=198, +IPR_PERIB199_INTB199=199, +IPR_PERIB200_INTB200=200, +IPR_PERIB201_INTB201=201, +IPR_PERIB202_INTB202=202, +IPR_PERIB203_INTB203=203, +IPR_PERIB204_INTB204=204, +IPR_PERIB205_INTB205=205, +IPR_PERIB206_INTB206=206, +IPR_PERIB207_INTB207=207, +IPR_PERIA208_INTA208=208, +IPR_PERIA209_INTA209=209, +IPR_PERIA210_INTA210=210, +IPR_PERIA211_INTA211=211, +IPR_PERIA212_INTA212=212, +IPR_PERIA213_INTA213=213, +IPR_PERIA214_INTA214=214, +IPR_PERIA215_INTA215=215, +IPR_PERIA216_INTA216=216, +IPR_PERIA217_INTA217=217, +IPR_PERIA218_INTA218=218, +IPR_PERIA219_INTA219=219, +IPR_PERIA220_INTA220=220, +IPR_PERIA221_INTA221=221, +IPR_PERIA222_INTA222=222, +IPR_PERIA223_INTA223=223, +IPR_PERIA224_INTA224=224, +IPR_PERIA225_INTA225=225, +IPR_PERIA226_INTA226=226, +IPR_PERIA227_INTA227=227, +IPR_PERIA228_INTA228=228, +IPR_PERIA229_INTA229=229, +IPR_PERIA230_INTA230=230, +IPR_PERIA231_INTA231=231, +IPR_PERIA232_INTA232=232, +IPR_PERIA233_INTA233=233, +IPR_PERIA234_INTA234=234, +IPR_PERIA235_INTA235=235, +IPR_PERIA236_INTA236=236, +IPR_PERIA237_INTA237=237, +IPR_PERIA238_INTA238=238, +IPR_PERIA239_INTA239=239, +IPR_PERIA240_INTA240=240, +IPR_PERIA241_INTA241=241, +IPR_PERIA242_INTA242=242, +IPR_PERIA243_INTA243=243, +IPR_PERIA244_INTA244=244, +IPR_PERIA245_INTA245=245, +IPR_PERIA246_INTA246=246, +IPR_PERIA247_INTA247=247, +IPR_PERIA248_INTA248=248, +IPR_PERIA249_INTA249=249, +IPR_PERIA250_INTA250=250, +IPR_PERIA251_INTA251=251, +IPR_PERIA252_INTA252=252, +IPR_PERIA253_INTA253=253, +IPR_PERIA254_INTA254=254, +IPR_PERIA255_INTA255=255 +}; + +#define IEN_BSC_BUSERR IEN0 +#define IEN_RAM_RAMERR IEN2 +#define IEN_FCU_FIFERR IEN5 +#define IEN_FCU_FRDYI IEN7 +#define IEN_ICU_SWINT2 IEN2 +#define IEN_ICU_SWINT IEN3 +#define IEN_CMT0_CMI0 IEN4 +#define IEN_CMT1_CMI1 IEN5 +#define IEN_CMTW0_CMWI0 IEN6 +#define IEN_CMTW_CMWI1 IEN7 +#define IEN_USBHS_D0FIFO2 IEN0 +#define IEN_USBHS_D1FIFO2 IEN1 +#define IEN_USB0_D0FIFO0 IEN2 +#define IEN_USB0_D1FIFO0 IEN3 +#define IEN_RSPI0_SPRI0 IEN6 +#define IEN_RSPI0_SPTI0 IEN7 +#define IEN_QSPI_SPRI IEN2 +#define IEN_QSPI_SPTI IEN3 +#define IEN_SDHI_SBFAI IEN4 +#define IEN_MMC_MBFAI IEN5 +#define IEN_SSI0_SSITXI0 IEN6 +#define IEN_SSI0_SSIRXI0 IEN7 +#define IEN_SSI1_SSIRTI1 IEN0 +#define IEN_SRC0_IDEI0 IEN2 +#define IEN_SRC0_ODFI0 IEN3 +#define IEN_RIIC0_RXI0 IEN4 +#define IEN_RIIC0_TXI0 IEN5 +#define IEN_RIIC2_RXI2 IEN6 +#define IEN_RIIC2_TXI2 IEN7 +#define IEN_SCI0_RXI0 IEN2 +#define IEN_SCI0_TXI0 IEN3 +#define IEN_SCI1_RXI1 IEN4 +#define IEN_SCI1_TXI1 IEN5 +#define IEN_SCI2_RXI2 IEN6 +#define IEN_SCI2_TXI2 IEN7 +#define IEN_ICU_IRQ0 IEN0 +#define IEN_ICU_IRQ1 IEN1 +#define IEN_ICU_IRQ2 IEN2 +#define IEN_ICU_IRQ3 IEN3 +#define IEN_ICU_IRQ4 IEN4 +#define IEN_ICU_IRQ5 IEN5 +#define IEN_ICU_IRQ6 IEN6 +#define IEN_ICU_IRQ7 IEN7 +#define IEN_ICU_IRQ8 IEN0 +#define IEN_ICU_IRQ9 IEN1 +#define IEN_ICU_IRQ10 IEN2 +#define IEN_ICU_IRQ11 IEN3 +#define IEN_ICU_IRQ12 IEN4 +#define IEN_ICU_IRQ13 IEN5 +#define IEN_ICU_IRQ14 IEN6 +#define IEN_ICU_IRQ15 IEN7 +#define IEN_SCI3_RXI3 IEN0 +#define IEN_SCI3_TXI3 IEN1 +#define IEN_SCI4_RXI4 IEN2 +#define IEN_SCI4_TXI4 IEN3 +#define IEN_SCI5_RXI5 IEN4 +#define IEN_SCI5_TXI5 IEN5 +#define IEN_SCI6_RXI6 IEN6 +#define IEN_SCI6_TXI6 IEN7 +#define IEN_LVD1_COMPA1 IEN0 +#define IEN_LVD2_COMPA2 IEN1 +#define IEN_USB0_USBR0 IEN2 +#define IEN_RTC_ALARM IEN4 +#define IEN_RTC_PRD IEN5 +#define IEN_USBHS_HSUSBR IEN6 +#define IEN_IWDT_IWUNI IEN7 +#define IEN_WDT_WUNI IEN0 +#define IEN_PDC_PCDFI IEN1 +#define IEN_SCI7_RXI7 IEN2 +#define IEN_SCI7_TXI7 IEN3 +#define IEN_SCIF8_RXIF8 IEN4 +#define IEN_SCIF8_TXIF8 IEN5 +#define IEN_SCIF9_RXIF9 IEN6 +#define IEN_SCIF9_TXIF9 IEN7 +#define IEN_SCIF10_RXIF10 IEN0 +#define IEN_SCIF10_TXIF10 IEN1 +#define IEN_ICU_GROUPBE0 IEN2 +#define IEN_ICU_GROUPBE1 IEN3 +#define IEN_ICU_GROUPAE0 IEN4 +#define IEN_ICU_GROUPAE1 IEN5 +#define IEN_ICU_GROUPBL0 IEN6 +#define IEN_ICU_GROUPBL1 IEN7 +#define IEN_ICU_GROUPAL0 IEN0 +#define IEN_ICU_GROUPAL1 IEN1 +#define IEN_SCIF11_RXIF11 IEN2 +#define IEN_SCIF11_TXIF11 IEN3 +#define IEN_SCI12_RXI12 IEN4 +#define IEN_SCI12_TXI12 IEN5 +#define IEN_DMAC_DMAC0I IEN0 +#define IEN_DMAC_DMAC1I IEN1 +#define IEN_DMAC_DMAC2I IEN2 +#define IEN_DMAC_DMAC3I IEN3 +#define IEN_DMAC_DMAC74I IEN4 +#define IEN_ICU_OST IEN5 +#define IEN_EXDMAC_EXDMAC0I IEN6 +#define IEN_EXDMAC_EXDMAC1I IEN7 +#define IEN_PERIB128_INTB128 IEN0 +#define IEN_PERIB129_INTB129 IEN1 +#define IEN_PERIB130_INTB130 IEN2 +#define IEN_PERIB131_INTB131 IEN3 +#define IEN_PERIB132_INTB132 IEN4 +#define IEN_PERIB133_INTB133 IEN5 +#define IEN_PERIB134_INTB134 IEN6 +#define IEN_PERIB135_INTB135 IEN7 +#define IEN_PERIB136_INTB136 IEN0 +#define IEN_PERIB137_INTB137 IEN1 +#define IEN_PERIB138_INTB138 IEN2 +#define IEN_PERIB139_INTB139 IEN3 +#define IEN_PERIB140_INTB140 IEN4 +#define IEN_PERIB141_INTB141 IEN5 +#define IEN_PERIB142_INTB142 IEN6 +#define IEN_PERIB143_INTB143 IEN7 +#define IEN_PERIB144_INTB144 IEN0 +#define IEN_PERIB145_INTB145 IEN1 +#define IEN_PERIB146_INTB146 IEN2 +#define IEN_PERIB147_INTB147 IEN3 +#define IEN_PERIB148_INTB148 IEN4 +#define IEN_PERIB149_INTB149 IEN5 +#define IEN_PERIB150_INTB150 IEN6 +#define IEN_PERIB151_INTB151 IEN7 +#define IEN_PERIB152_INTB152 IEN0 +#define IEN_PERIB153_INTB153 IEN1 +#define IEN_PERIB154_INTB154 IEN2 +#define IEN_PERIB155_INTB155 IEN3 +#define IEN_PERIB156_INTB156 IEN4 +#define IEN_PERIB157_INTB157 IEN5 +#define IEN_PERIB158_INTB158 IEN6 +#define IEN_PERIB159_INTB159 IEN7 +#define IEN_PERIB160_INTB160 IEN0 +#define IEN_PERIB161_INTB161 IEN1 +#define IEN_PERIB162_INTB162 IEN2 +#define IEN_PERIB163_INTB163 IEN3 +#define IEN_PERIB164_INTB164 IEN4 +#define IEN_PERIB165_INTB165 IEN5 +#define IEN_PERIB166_INTB166 IEN6 +#define IEN_PERIB167_INTB167 IEN7 +#define IEN_PERIB168_INTB168 IEN0 +#define IEN_PERIB169_INTB169 IEN1 +#define IEN_PERIB170_INTB170 IEN2 +#define IEN_PERIB171_INTB171 IEN3 +#define IEN_PERIB172_INTB172 IEN4 +#define IEN_PERIB173_INTB173 IEN5 +#define IEN_PERIB174_INTB174 IEN6 +#define IEN_PERIB175_INTB175 IEN7 +#define IEN_PERIB176_INTB176 IEN0 +#define IEN_PERIB177_INTB177 IEN1 +#define IEN_PERIB178_INTB178 IEN2 +#define IEN_PERIB179_INTB179 IEN3 +#define IEN_PERIB180_INTB180 IEN4 +#define IEN_PERIB181_INTB181 IEN5 +#define IEN_PERIB182_INTB182 IEN6 +#define IEN_PERIB183_INTB183 IEN7 +#define IEN_PERIB184_INTB184 IEN0 +#define IEN_PERIB185_INTB185 IEN1 +#define IEN_PERIB186_INTB186 IEN2 +#define IEN_PERIB187_INTB187 IEN3 +#define IEN_PERIB188_INTB188 IEN4 +#define IEN_PERIB189_INTB189 IEN5 +#define IEN_PERIB190_INTB190 IEN6 +#define IEN_PERIB191_INTB191 IEN7 +#define IEN_PERIB192_INTB192 IEN0 +#define IEN_PERIB193_INTB193 IEN1 +#define IEN_PERIB194_INTB194 IEN2 +#define IEN_PERIB195_INTB195 IEN3 +#define IEN_PERIB196_INTB196 IEN4 +#define IEN_PERIB197_INTB197 IEN5 +#define IEN_PERIB198_INTB198 IEN6 +#define IEN_PERIB199_INTB199 IEN7 +#define IEN_PERIB200_INTB200 IEN0 +#define IEN_PERIB201_INTB201 IEN1 +#define IEN_PERIB202_INTB202 IEN2 +#define IEN_PERIB203_INTB203 IEN3 +#define IEN_PERIB204_INTB204 IEN4 +#define IEN_PERIB205_INTB205 IEN5 +#define IEN_PERIB206_INTB206 IEN6 +#define IEN_PERIB207_INTB207 IEN7 +#define IEN_PERIA208_INTA208 IEN0 +#define IEN_PERIA209_INTA209 IEN1 +#define IEN_PERIA210_INTA210 IEN2 +#define IEN_PERIA211_INTA211 IEN3 +#define IEN_PERIA212_INTA212 IEN4 +#define IEN_PERIA213_INTA213 IEN5 +#define IEN_PERIA214_INTA214 IEN6 +#define IEN_PERIA215_INTA215 IEN7 +#define IEN_PERIA216_INTA216 IEN0 +#define IEN_PERIA217_INTA217 IEN1 +#define IEN_PERIA218_INTA218 IEN2 +#define IEN_PERIA219_INTA219 IEN3 +#define IEN_PERIA220_INTA220 IEN4 +#define IEN_PERIA221_INTA221 IEN5 +#define IEN_PERIA222_INTA222 IEN6 +#define IEN_PERIA223_INTA223 IEN7 +#define IEN_PERIA224_INTA224 IEN0 +#define IEN_PERIA225_INTA225 IEN1 +#define IEN_PERIA226_INTA226 IEN2 +#define IEN_PERIA227_INTA227 IEN3 +#define IEN_PERIA228_INTA228 IEN4 +#define IEN_PERIA229_INTA229 IEN5 +#define IEN_PERIA230_INTA230 IEN6 +#define IEN_PERIA231_INTA231 IEN7 +#define IEN_PERIA232_INTA232 IEN0 +#define IEN_PERIA233_INTA233 IEN1 +#define IEN_PERIA234_INTA234 IEN2 +#define IEN_PERIA235_INTA235 IEN3 +#define IEN_PERIA236_INTA236 IEN4 +#define IEN_PERIA237_INTA237 IEN5 +#define IEN_PERIA238_INTA238 IEN6 +#define IEN_PERIA239_INTA239 IEN7 +#define IEN_PERIA240_INTA240 IEN0 +#define IEN_PERIA241_INTA241 IEN1 +#define IEN_PERIA242_INTA242 IEN2 +#define IEN_PERIA243_INTA243 IEN3 +#define IEN_PERIA244_INTA244 IEN4 +#define IEN_PERIA245_INTA245 IEN5 +#define IEN_PERIA246_INTA246 IEN6 +#define IEN_PERIA247_INTA247 IEN7 +#define IEN_PERIA248_INTA248 IEN0 +#define IEN_PERIA249_INTA249 IEN1 +#define IEN_PERIA250_INTA250 IEN2 +#define IEN_PERIA251_INTA251 IEN3 +#define IEN_PERIA252_INTA252 IEN4 +#define IEN_PERIA253_INTA253 IEN5 +#define IEN_PERIA254_INTA254 IEN6 +#define IEN_PERIA255_INTA255 IEN7 + +#define VECT_BSC_BUSERR 16 +#define VECT_RAM_RAMERR 18 +#define VECT_FCU_FIFERR 21 +#define VECT_FCU_FRDYI 23 +#define VECT_ICU_SWINT2 26 +#define VECT_ICU_SWINT 27 +#define VECT_CMT0_CMI0 28 +#define VECT_CMT1_CMI1 29 +#define VECT_CMTW0_CMWI0 30 +#define VECT_CMTW_CMWI1 31 +#define VECT_USBHS_D0FIFO2 32 +#define VECT_USBHS_D1FIFO2 33 +#define VECT_USB0_D0FIFO0 34 +#define VECT_USB0_D1FIFO0 35 +#define VECT_RSPI0_SPRI0 38 +#define VECT_RSPI0_SPTI0 39 +#define VECT_QSPI_SPRI 42 +#define VECT_QSPI_SPTI 43 +#define VECT_SDHI_SBFAI 44 +#define VECT_MMC_MBFAI 45 +#define VECT_SSI0_SSITXI0 46 +#define VECT_SSI0_SSIRXI0 47 +#define VECT_SSI1_SSIRTI1 48 +#define VECT_SRC0_IDEI0 50 +#define VECT_SRC0_ODFI0 51 +#define VECT_RIIC0_RXI0 52 +#define VECT_RIIC0_TXI0 53 +#define VECT_RIIC2_RXI2 54 +#define VECT_RIIC2_TXI2 55 +#define VECT_SCI0_RXI0 58 +#define VECT_SCI0_TXI0 59 +#define VECT_SCI1_RXI1 60 +#define VECT_SCI1_TXI1 61 +#define VECT_SCI2_RXI2 62 +#define VECT_SCI2_TXI2 63 +#define VECT_ICU_IRQ0 64 +#define VECT_ICU_IRQ1 65 +#define VECT_ICU_IRQ2 66 +#define VECT_ICU_IRQ3 67 +#define VECT_ICU_IRQ4 68 +#define VECT_ICU_IRQ5 69 +#define VECT_ICU_IRQ6 70 +#define VECT_ICU_IRQ7 71 +#define VECT_ICU_IRQ8 72 +#define VECT_ICU_IRQ9 73 +#define VECT_ICU_IRQ10 74 +#define VECT_ICU_IRQ11 75 +#define VECT_ICU_IRQ12 76 +#define VECT_ICU_IRQ13 77 +#define VECT_ICU_IRQ14 78 +#define VECT_ICU_IRQ15 79 +#define VECT_SCI3_RXI3 80 +#define VECT_SCI3_TXI3 81 +#define VECT_SCI4_RXI4 82 +#define VECT_SCI4_TXI4 83 +#define VECT_SCI5_RXI5 84 +#define VECT_SCI5_TXI5 85 +#define VECT_SCI6_RXI6 86 +#define VECT_SCI6_TXI6 87 +#define VECT_LVD1_COMPA1 88 +#define VECT_LVD2_COMPA2 89 +#define VECT_USB0_USBR0 90 +#define VECT_RTC_ALARM 92 +#define VECT_RTC_PRD 93 +#define VECT_USBHS_HSUSBR 94 +#define VECT_IWDT_IWUNI 95 +#define VECT_WDT_WUNI 96 +#define VECT_PDC_PCDFI 97 +#define VECT_SCI7_RXI7 98 +#define VECT_SCI7_TXI7 99 +#define VECT_SCIF8_RXIF8 100 +#define VECT_SCIF8_TXIF8 101 +#define VECT_SCIF9_RXIF9 102 +#define VECT_SCIF9_TXIF9 103 +#define VECT_SCIF10_RXIF10 104 +#define VECT_SCIF10_TXIF10 105 +#define VECT_ICU_GROUPBE0 106 +#define VECT_ICU_GROUPBE1 107 +#define VECT_ICU_GROUPAE0 108 +#define VECT_ICU_GROUPAE1 109 +#define VECT_ICU_GROUPBL0 110 +#define VECT_ICU_GROUPBL1 111 +#define VECT_ICU_GROUPAL0 112 +#define VECT_ICU_GROUPAL1 113 +#define VECT_SCIF11_RXIF11 114 +#define VECT_SCIF11_TXIF11 115 +#define VECT_SCI12_RXI12 116 +#define VECT_SCI12_TXI12 117 +#define VECT_DMAC_DMAC0I 120 +#define VECT_DMAC_DMAC1I 121 +#define VECT_DMAC_DMAC2I 122 +#define VECT_DMAC_DMAC3I 123 +#define VECT_DMAC_DMAC74I 124 +#define VECT_ICU_OST 125 +#define VECT_EXDMAC_EXDMAC0I 126 +#define VECT_EXDMAC_EXDMAC1I 127 +#define VECT_PERIB128_INTB128 128 +#define VECT_PERIB129_INTB129 129 +#define VECT_PERIB130_INTB130 130 +#define VECT_PERIB131_INTB131 131 +#define VECT_PERIB132_INTB132 132 +#define VECT_PERIB133_INTB133 133 +#define VECT_PERIB134_INTB134 134 +#define VECT_PERIB135_INTB135 135 +#define VECT_PERIB136_INTB136 136 +#define VECT_PERIB137_INTB137 137 +#define VECT_PERIB138_INTB138 138 +#define VECT_PERIB139_INTB139 139 +#define VECT_PERIB140_INTB140 140 +#define VECT_PERIB141_INTB141 141 +#define VECT_PERIB142_INTB142 142 +#define VECT_PERIB143_INTB143 143 +#define VECT_PERIB144_INTB144 144 +#define VECT_PERIB145_INTB145 145 +#define VECT_PERIB146_INTB146 146 +#define VECT_PERIB147_INTB147 147 +#define VECT_PERIB148_INTB148 148 +#define VECT_PERIB149_INTB149 149 +#define VECT_PERIB150_INTB150 150 +#define VECT_PERIB151_INTB151 151 +#define VECT_PERIB152_INTB152 152 +#define VECT_PERIB153_INTB153 153 +#define VECT_PERIB154_INTB154 154 +#define VECT_PERIB155_INTB155 155 +#define VECT_PERIB156_INTB156 156 +#define VECT_PERIB157_INTB157 157 +#define VECT_PERIB158_INTB158 158 +#define VECT_PERIB159_INTB159 159 +#define VECT_PERIB160_INTB160 160 +#define VECT_PERIB161_INTB161 161 +#define VECT_PERIB162_INTB162 162 +#define VECT_PERIB163_INTB163 163 +#define VECT_PERIB164_INTB164 164 +#define VECT_PERIB165_INTB165 165 +#define VECT_PERIB166_INTB166 166 +#define VECT_PERIB167_INTB167 167 +#define VECT_PERIB168_INTB168 168 +#define VECT_PERIB169_INTB169 169 +#define VECT_PERIB170_INTB170 170 +#define VECT_PERIB171_INTB171 171 +#define VECT_PERIB172_INTB172 172 +#define VECT_PERIB173_INTB173 173 +#define VECT_PERIB174_INTB174 174 +#define VECT_PERIB175_INTB175 175 +#define VECT_PERIB176_INTB176 176 +#define VECT_PERIB177_INTB177 177 +#define VECT_PERIB178_INTB178 178 +#define VECT_PERIB179_INTB179 179 +#define VECT_PERIB180_INTB180 180 +#define VECT_PERIB181_INTB181 181 +#define VECT_PERIB182_INTB182 182 +#define VECT_PERIB183_INTB183 183 +#define VECT_PERIB184_INTB184 184 +#define VECT_PERIB185_INTB185 185 +#define VECT_PERIB186_INTB186 186 +#define VECT_PERIB187_INTB187 187 +#define VECT_PERIB188_INTB188 188 +#define VECT_PERIB189_INTB189 189 +#define VECT_PERIB190_INTB190 190 +#define VECT_PERIB191_INTB191 191 +#define VECT_PERIB192_INTB192 192 +#define VECT_PERIB193_INTB193 193 +#define VECT_PERIB194_INTB194 194 +#define VECT_PERIB195_INTB195 195 +#define VECT_PERIB196_INTB196 196 +#define VECT_PERIB197_INTB197 197 +#define VECT_PERIB198_INTB198 198 +#define VECT_PERIB199_INTB199 199 +#define VECT_PERIB200_INTB200 200 +#define VECT_PERIB201_INTB201 201 +#define VECT_PERIB202_INTB202 202 +#define VECT_PERIB203_INTB203 203 +#define VECT_PERIB204_INTB204 204 +#define VECT_PERIB205_INTB205 205 +#define VECT_PERIB206_INTB206 206 +#define VECT_PERIB207_INTB207 207 +#define VECT_PERIA208_INTA208 208 +#define VECT_PERIA209_INTA209 209 +#define VECT_PERIA210_INTA210 210 +#define VECT_PERIA211_INTA211 211 +#define VECT_PERIA212_INTA212 212 +#define VECT_PERIA213_INTA213 213 +#define VECT_PERIA214_INTA214 214 +#define VECT_PERIA215_INTA215 215 +#define VECT_PERIA216_INTA216 216 +#define VECT_PERIA217_INTA217 217 +#define VECT_PERIA218_INTA218 218 +#define VECT_PERIA219_INTA219 219 +#define VECT_PERIA220_INTA220 220 +#define VECT_PERIA221_INTA221 221 +#define VECT_PERIA222_INTA222 222 +#define VECT_PERIA223_INTA223 223 +#define VECT_PERIA224_INTA224 224 +#define VECT_PERIA225_INTA225 225 +#define VECT_PERIA226_INTA226 226 +#define VECT_PERIA227_INTA227 227 +#define VECT_PERIA228_INTA228 228 +#define VECT_PERIA229_INTA229 229 +#define VECT_PERIA230_INTA230 230 +#define VECT_PERIA231_INTA231 231 +#define VECT_PERIA232_INTA232 232 +#define VECT_PERIA233_INTA233 233 +#define VECT_PERIA234_INTA234 234 +#define VECT_PERIA235_INTA235 235 +#define VECT_PERIA236_INTA236 236 +#define VECT_PERIA237_INTA237 237 +#define VECT_PERIA238_INTA238 238 +#define VECT_PERIA239_INTA239 239 +#define VECT_PERIA240_INTA240 240 +#define VECT_PERIA241_INTA241 241 +#define VECT_PERIA242_INTA242 242 +#define VECT_PERIA243_INTA243 243 +#define VECT_PERIA244_INTA244 244 +#define VECT_PERIA245_INTA245 245 +#define VECT_PERIA246_INTA246 246 +#define VECT_PERIA247_INTA247 247 +#define VECT_PERIA248_INTA248 248 +#define VECT_PERIA249_INTA249 249 +#define VECT_PERIA250_INTA250 250 +#define VECT_PERIA251_INTA251 251 +#define VECT_PERIA252_INTA252 252 +#define VECT_PERIA253_INTA253 253 +#define VECT_PERIA254_INTA254 254 +#define VECT_PERIA255_INTA255 255 + +#define MSTP_EXDMAC SYSTEM.MSTPCRA.BIT.MSTPA29 +#define MSTP_EXDMAC0 SYSTEM.MSTPCRA.BIT.MSTPA29 +#define MSTP_EXDMAC1 SYSTEM.MSTPCRA.BIT.MSTPA29 +#define MSTP_DTC SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DMAC SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DMAC0 SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DMAC1 SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DMAC2 SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DMAC3 SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DMAC4 SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DMAC5 SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DMAC6 SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DMAC7 SYSTEM.MSTPCRA.BIT.MSTPA28 +#define MSTP_DA SYSTEM.MSTPCRA.BIT.MSTPA19 +#define MSTP_S12ADC0 SYSTEM.MSTPCRA.BIT.MSTPA17 +#define MSTP_S12ADC1 SYSTEM.MSTPCRA.BIT.MSTPA16 +#define MSTP_CMT0 SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_CMT1 SYSTEM.MSTPCRA.BIT.MSTPA15 +#define MSTP_CMT2 SYSTEM.MSTPCRA.BIT.MSTPA14 +#define MSTP_CMT3 SYSTEM.MSTPCRA.BIT.MSTPA14 +#define MSTP_TPU0 SYSTEM.MSTPCRA.BIT.MSTPA13 +#define MSTP_TPU1 SYSTEM.MSTPCRA.BIT.MSTPA13 +#define MSTP_TPU2 SYSTEM.MSTPCRA.BIT.MSTPA13 +#define MSTP_TPU3 SYSTEM.MSTPCRA.BIT.MSTPA13 +#define MSTP_TPU4 SYSTEM.MSTPCRA.BIT.MSTPA13 +#define MSTP_TPU5 SYSTEM.MSTPCRA.BIT.MSTPA13 +#define MSTP_PPG0 SYSTEM.MSTPCRA.BIT.MSTPA11 +#define MSTP_PPG1 SYSTEM.MSTPCRA.BIT.MSTPA10 +#define MSTP_MTU3 SYSTEM.MSTPCRA.BIT.MSTPA9 +#define MSTP_GPT SYSTEM.MSTPCRA.BIT.MSTPA7 +#define MSTP_GPT0 SYSTEM.MSTPCRA.BIT.MSTPA7 +#define MSTP_GPT1 SYSTEM.MSTPCRA.BIT.MSTPA7 +#define MSTP_GPT2 SYSTEM.MSTPCRA.BIT.MSTPA7 +#define MSTP_GPT3 SYSTEM.MSTPCRA.BIT.MSTPA7 +#define MSTP_TMR0 SYSTEM.MSTPCRA.BIT.MSTPA5 +#define MSTP_TMR1 SYSTEM.MSTPCRA.BIT.MSTPA5 +#define MSTP_TMR2 SYSTEM.MSTPCRA.BIT.MSTPA4 +#define MSTP_TMR3 SYSTEM.MSTPCRA.BIT.MSTPA4 +#define MSTP_CMTW1 SYSTEM.MSTPCRA.BIT.MSTPA1 +#define MSTP_CMTW0 SYSTEM.MSTPCRA.BIT.MSTPA0 +#define MSTP_SCI0 SYSTEM.MSTPCRB.BIT.MSTPB31 +#define MSTP_SMCI0 SYSTEM.MSTPCRB.BIT.MSTPB31 +#define MSTP_SCI1 SYSTEM.MSTPCRB.BIT.MSTPB30 +#define MSTP_SMCI1 SYSTEM.MSTPCRB.BIT.MSTPB30 +#define MSTP_SCI2 SYSTEM.MSTPCRB.BIT.MSTPB29 +#define MSTP_SMCI2 SYSTEM.MSTPCRB.BIT.MSTPB29 +#define MSTP_SCI3 SYSTEM.MSTPCRB.BIT.MSTPB28 +#define MSTP_SMCI3 SYSTEM.MSTPCRB.BIT.MSTPB28 +#define MSTP_SCI4 SYSTEM.MSTPCRB.BIT.MSTPB27 +#define MSTP_SMCI4 SYSTEM.MSTPCRB.BIT.MSTPB27 +#define MSTP_SCI5 SYSTEM.MSTPCRB.BIT.MSTPB26 +#define MSTP_SMCI5 SYSTEM.MSTPCRB.BIT.MSTPB26 +#define MSTP_SCI6 SYSTEM.MSTPCRB.BIT.MSTPB25 +#define MSTP_SMCI6 SYSTEM.MSTPCRB.BIT.MSTPB25 +#define MSTP_SCI7 SYSTEM.MSTPCRB.BIT.MSTPB24 +#define MSTP_SMCI7 SYSTEM.MSTPCRB.BIT.MSTPB24 +#define MSTP_CRC SYSTEM.MSTPCRB.BIT.MSTPB23 +#define MSTP_DCU SYSTEM.MSTPCRB.BIT.MSTPB22 +#define MSTP_RIIC0 SYSTEM.MSTPCRB.BIT.MSTPB21 +#define MSTP_USB0 SYSTEM.MSTPCRB.BIT.MSTPB19 +#define MSTP_RSPI0 SYSTEM.MSTPCRB.BIT.MSTPB17 +#define MSTP_EDMAC0 SYSTEM.MSTPCRB.BIT.MSTPB15 +#define MSTP_EDMAC1 SYSTEM.MSTPCRB.BIT.MSTPB14 +#define MSTP_USBHS SYSTEM.MSTPCRB.BIT.MSTPB12 +#define MSTP_ELC SYSTEM.MSTPCRB.BIT.MSTPB9 +#define MSTP_TEMPS SYSTEM.MSTPCRB.BIT.MSTPB8 +#define MSTP_DOC SYSTEM.MSTPCRB.BIT.MSTPB6 +#define MSTP_SCI12 SYSTEM.MSTPCRB.BIT.MSTPB4 +#define MSTP_SMCI12 SYSTEM.MSTPCRB.BIT.MSTPB4 +#define MSTP_CAN2 SYSTEM.MSTPCRB.BIT.MSTPB2 +#define MSTP_CAN1 SYSTEM.MSTPCRB.BIT.MSTPB1 +#define MSTP_CAN0 SYSTEM.MSTPCRB.BIT.MSTPB0 +#define MSTP_SCIF8 SYSTEM.MSTPCRC.BIT.MSTPC27 +#define MSTP_SCIF9 SYSTEM.MSTPCRC.BIT.MSTPC26 +#define MSTP_SCIF10 SYSTEM.MSTPCRC.BIT.MSTPC25 +#define MSTP_SCIF11 SYSTEM.MSTPCRC.BIT.MSTPC24 +#define MSTP_QSPI SYSTEM.MSTPCRC.BIT.MSTPC23 +#define MSTP_CAC SYSTEM.MSTPCRC.BIT.MSTPC19 +#define MSTP_RIIC2 SYSTEM.MSTPCRC.BIT.MSTPC17 +#define MSTP_STBYRAM SYSTEM.MSTPCRC.BIT.MSTPC7 +#define MSTP_ECCRAM SYSTEM.MSTPCRC.BIT.MSTPC2 +#define MSTP_RAM0 SYSTEM.MSTPCRC.BIT.MSTPC0 +#define MSTP_AES SYSTEM.MSTPCRD.BIT.MSTPD31 +#define MSTP_DES SYSTEM.MSTPCRD.BIT.MSTPD30 +#define MSTP_SHA SYSTEM.MSTPCRD.BIT.MSTPD29 +#define MSTP_RNG SYSTEM.MSTPCRD.BIT.MSTPD28 +#define MSTP_SRC SYSTEM.MSTPCRD.BIT.MSTPD23 +#define MSTP_MMC SYSTEM.MSTPCRD.BIT.MSTPD21 +#define MSTP_SDHI SYSTEM.MSTPCRD.BIT.MSTPD19 +#define MSTP_SSI0 SYSTEM.MSTPCRD.BIT.MSTPD15 +#define MSTP_SSI1 SYSTEM.MSTPCRD.BIT.MSTPD14 + +#define __IR( x ) ICU.IR[ IR ## x ].BIT.IR +#define _IR( x ) __IR( x ) +#define IR( x , y ) _IR( _ ## x ## _ ## y ) +#define __DTCE( x ) ICU.DTCER[ DTCE ## x ].BIT.DTCE +#define _DTCE( x ) __DTCE( x ) +#define DTCE( x , y ) _DTCE( _ ## x ## _ ## y ) +#define __IEN( x ) ICU.IER[ IER ## x ].BIT.IEN ## x +#define _IEN( x ) __IEN( x ) +#define IEN( x , y ) _IEN( _ ## x ## _ ## y ) +#define __IPR( x ) ICU.IPR[ IPR ## x ].BIT.IPR +#define _IPR( x ) __IPR( x ) +#define IPR( x , y ) _IPR( _ ## x ## _ ## y ) +#define __VECT( x ) VECT ## x +#define _VECT( x ) __VECT( x ) +#define VECT( x , y ) _VECT( _ ## x ## _ ## y ) +#define __MSTP( x ) MSTP ## x +#define _MSTP( x ) __MSTP( x ) +#define MSTP( x ) _MSTP( _ ## x ) + +#define BSC (*(volatile struct st_bsc __evenaccess *)0x81300) +#define CAC (*(volatile struct st_cac __evenaccess *)0x8B000) +#define CAN0 (*(volatile struct st_can __evenaccess *)0x90200) +#define CAN1 (*(volatile struct st_can __evenaccess *)0x91200) +#define CAN2 (*(volatile struct st_can __evenaccess *)0x92200) +#define CMT (*(volatile struct st_cmt __evenaccess *)0x88000) +#define CMT0 (*(volatile struct st_cmt0 __evenaccess *)0x88002) +#define CMT1 (*(volatile struct st_cmt0 __evenaccess *)0x88008) +#define CMT2 (*(volatile struct st_cmt0 __evenaccess *)0x88012) +#define CMT3 (*(volatile struct st_cmt0 __evenaccess *)0x88018) +#define CMTW0 (*(volatile struct st_cmtw __evenaccess *)0x94200) +#define CMTW1 (*(volatile struct st_cmtw __evenaccess *)0x94280) +#define CRC (*(volatile struct st_crc __evenaccess *)0x88280) +#define DA (*(volatile struct st_da __evenaccess *)0x88040) +#define DMAC (*(volatile struct st_dmac __evenaccess *)0x82200) +#define DMAC0 (*(volatile struct st_dmac0 __evenaccess *)0x82000) +#define DMAC1 (*(volatile struct st_dmac1 __evenaccess *)0x82040) +#define DMAC2 (*(volatile struct st_dmac1 __evenaccess *)0x82080) +#define DMAC3 (*(volatile struct st_dmac1 __evenaccess *)0x820C0) +#define DMAC4 (*(volatile struct st_dmac1 __evenaccess *)0x82100) +#define DMAC5 (*(volatile struct st_dmac1 __evenaccess *)0x82140) +#define DMAC6 (*(volatile struct st_dmac1 __evenaccess *)0x82180) +#define DMAC7 (*(volatile struct st_dmac1 __evenaccess *)0x821C0) +#define DOC (*(volatile struct st_doc __evenaccess *)0x8B080) +#define DTC (*(volatile struct st_dtc __evenaccess *)0x82400) +#define ECCRAM (*(volatile struct st_eccram __evenaccess *)0x812C0) +#define EDMAC0 (*(volatile struct st_edmac __evenaccess *)0xC0000) +#define EDMAC1 (*(volatile struct st_edmac __evenaccess *)0xC0200) +#define EDMACP (*(volatile struct st_edmacp __evenaccess *)0xC0400) +#define ELC (*(volatile struct st_elc __evenaccess *)0x8B100) +#define EPTPC (*(volatile struct st_eptpc __evenaccess *)0xC0500) +#define EPTPCS0 (*(volatile struct st_eptpcs __evenaccess *)0xC4800) +#define EPTPCS1 (*(volatile struct st_eptpcs __evenaccess *)0xC4C00) +#define ETHERC0 (*(volatile struct st_etherc __evenaccess *)0xC0100) +#define ETHERC1 (*(volatile struct st_etherc __evenaccess *)0xC0300) +#define EXDMAC (*(volatile struct st_exdmac __evenaccess *)0x82A00) +#define EXDMAC0 (*(volatile struct st_exdmac0 __evenaccess *)0x82800) +#define EXDMAC1 (*(volatile struct st_exdmac1 __evenaccess *)0x82840) +#define GPT (*(volatile struct st_gpt __evenaccess *)0xC2000) +#define GPT0 (*(volatile struct st_gpt0 __evenaccess *)0xC2100) +#define GPT1 (*(volatile struct st_gpt0 __evenaccess *)0xC2180) +#define GPT2 (*(volatile struct st_gpt0 __evenaccess *)0xC2200) +#define GPT3 (*(volatile struct st_gpt0 __evenaccess *)0xC2280) +#define ICU (*(volatile struct st_icu __evenaccess *)0x87000) +#define IWDT (*(volatile struct st_iwdt __evenaccess *)0x88030) +#define MMC (*(volatile struct st_mmc __evenaccess *)0x88500) +#define MPC (*(volatile struct st_mpc __evenaccess *)0x8C100) +#define MPU (*(volatile struct st_mpu __evenaccess *)0x86400) +#define MTU (*(volatile struct st_mtu __evenaccess *)0xC120A) +#define MTU0 (*(volatile struct st_mtu0 __evenaccess *)0xC1290) +#define MTU1 (*(volatile struct st_mtu1 __evenaccess *)0xC1290) +#define MTU2 (*(volatile struct st_mtu2 __evenaccess *)0xC1292) +#define MTU3 (*(volatile struct st_mtu3 __evenaccess *)0xC1200) +#define MTU4 (*(volatile struct st_mtu4 __evenaccess *)0xC1200) +#define MTU5 (*(volatile struct st_mtu5 __evenaccess *)0xC1294) +#define MTU6 (*(volatile struct st_mtu6 __evenaccess *)0xC12A2) +#define MTU7 (*(volatile struct st_mtu7 __evenaccess *)0xC12A4) +#define MTU8 (*(volatile struct st_mtu8 __evenaccess *)0xC1298) +#define PDC (*(volatile struct st_pdc __evenaccess *)0xA0500) +#define POE3 (*(volatile struct st_poe __evenaccess *)0x8C4C0) +#define PORT0 (*(volatile struct st_port0 __evenaccess *)0x8C000) +#define PORT1 (*(volatile struct st_port1 __evenaccess *)0x8C001) +#define PORT2 (*(volatile struct st_port2 __evenaccess *)0x8C002) +#define PORT3 (*(volatile struct st_port3 __evenaccess *)0x8C003) +#define PORT4 (*(volatile struct st_port4 __evenaccess *)0x8C004) +#define PORT5 (*(volatile struct st_port5 __evenaccess *)0x8C005) +#define PORT6 (*(volatile struct st_port6 __evenaccess *)0x8C006) +#define PORT7 (*(volatile struct st_port7 __evenaccess *)0x8C007) +#define PORT8 (*(volatile struct st_port8 __evenaccess *)0x8C008) +#define PORT9 (*(volatile struct st_port9 __evenaccess *)0x8C009) +#define PORTA (*(volatile struct st_porta __evenaccess *)0x8C00A) +#define PORTB (*(volatile struct st_portb __evenaccess *)0x8C00B) +#define PORTC (*(volatile struct st_portc __evenaccess *)0x8C00C) +#define PORTD (*(volatile struct st_portd __evenaccess *)0x8C00D) +#define PORTE (*(volatile struct st_porte __evenaccess *)0x8C00E) +#define PORTF (*(volatile struct st_portf __evenaccess *)0x8C00F) +#define PORTG (*(volatile struct st_portg __evenaccess *)0x8C010) +#define PORTJ (*(volatile struct st_portj __evenaccess *)0x8C012) +#define PPG0 (*(volatile struct st_ppg0 __evenaccess *)0x881E6) +#define PPG1 (*(volatile struct st_ppg1 __evenaccess *)0x881F0) +#define QSPI (*(volatile struct st_qspi __evenaccess *)0x89E00) +#define RIIC0 (*(volatile struct st_riic0 __evenaccess *)0x88300) +#define RIIC2 (*(volatile struct st_riic2 __evenaccess *)0x88340) +#define RSPI0 (*(volatile struct st_rspi0 __evenaccess *)0xD0100) +#define RTC (*(volatile struct st_rtc __evenaccess *)0x8C400) +#define RTCB (*(volatile struct st_rtcb __evenaccess *)0x8C402) +#define S12ADC0 (*(volatile struct st_s12ad __evenaccess *)0x89000) +#define S12ADC1 (*(volatile struct st_s12ad1 __evenaccess *)0x89104) +#define SCI0 (*(volatile struct st_sci0 __evenaccess *)0x8A000) +#define SCI1 (*(volatile struct st_sci0 __evenaccess *)0x8A020) +#define SCI2 (*(volatile struct st_sci0 __evenaccess *)0x8A040) +#define SCI3 (*(volatile struct st_sci0 __evenaccess *)0x8A060) +#define SCI4 (*(volatile struct st_sci0 __evenaccess *)0x8A080) +#define SCI5 (*(volatile struct st_sci0 __evenaccess *)0x8A0A0) +#define SCI6 (*(volatile struct st_sci0 __evenaccess *)0x8A0C0) +#define SCI7 (*(volatile struct st_sci0 __evenaccess *)0x8A0E0) +#define SCI12 (*(volatile struct st_sci12 __evenaccess *)0x8B300) +//#define SCIA (*(volatile struct st_scia __evenaccess *)0x88484) +//#define SCIF10A (*(volatile struct st_scia __evenaccess *)0xD0042) +//#define SCIF11A (*(volatile struct st_scia __evenaccess *)0xD0062) +#define SCIF8 (*(volatile struct st_scif __evenaccess *)0xD0000) +#define SCIF9 (*(volatile struct st_scif __evenaccess *)0xD0020) +#define SCIF10 (*(volatile struct st_scif __evenaccess *)0xD0040) +#define SCIF11 (*(volatile struct st_scif __evenaccess *)0xD0060) +//#define SCIF8A (*(volatile struct st_scia __evenaccess *)0xD0002) +//#define SCIF9A (*(volatile struct st_scia __evenaccess *)0xD0022) +#define SMCI (*(volatile struct st_smci __evenaccess *)0x88480) +#define SMCI0 (*(volatile struct st_smci0 __evenaccess *)0x8A000) +#define SMCI1 (*(volatile struct st_smci0 __evenaccess *)0x8A020) +#define SMCI2 (*(volatile struct st_smci0 __evenaccess *)0x8A040) +#define SMCI3 (*(volatile struct st_smci0 __evenaccess *)0x8A060) +#define SMCI4 (*(volatile struct st_smci0 __evenaccess *)0x8A080) +#define SMCI5 (*(volatile struct st_smci0 __evenaccess *)0x8A0A0) +#define SMCI6 (*(volatile struct st_smci0 __evenaccess *)0x8A0C0) +#define SMCI7 (*(volatile struct st_smci0 __evenaccess *)0x8A0E0) +#define SMCI12 (*(volatile struct st_smci0 __evenaccess *)0x8B300) +//#define SMCIA (*(volatile struct st_scia __evenaccess *)0x88484) +#define SRC (*(volatile struct st_src __evenaccess *)0x98000) +#define SSI0 (*(volatile struct st_ssi __evenaccess *)0x8A500) +#define SSI1 (*(volatile struct st_ssi __evenaccess *)0x8A540) +#define SYSTEM (*(volatile struct st_system __evenaccess *)0x80000) +#define TEMPS (*(volatile struct st_temps __evenaccess *)0x8C500) +#define TMR0 (*(volatile struct st_tmr0 __evenaccess *)0x88200) +#define TMR1 (*(volatile struct st_tmr1 __evenaccess *)0x88201) +#define TMR2 (*(volatile struct st_tmr0 __evenaccess *)0x88210) +#define TMR3 (*(volatile struct st_tmr1 __evenaccess *)0x88211) +#define TMR01 (*(volatile struct st_tmr01 __evenaccess *)0x88204) +#define TMR23 (*(volatile struct st_tmr01 __evenaccess *)0x88214) +#define TPU0 (*(volatile struct st_tpu0 __evenaccess *)0x88108) +#define TPU1 (*(volatile struct st_tpu1 __evenaccess *)0x88108) +#define TPU2 (*(volatile struct st_tpu2 __evenaccess *)0x8810A) +#define TPU3 (*(volatile struct st_tpu3 __evenaccess *)0x8810A) +#define TPU4 (*(volatile struct st_tpu4 __evenaccess *)0x8810C) +#define TPU5 (*(volatile struct st_tpu5 __evenaccess *)0x8810C) +#define TPUA (*(volatile struct st_tpua __evenaccess *)0x88100) +#define USB (*(volatile struct st_usb __evenaccess *)0xA0400) +#define USB0 (*(volatile struct st_usb0 __evenaccess *)0xA0000) +#define USBHS (*(volatile struct st_usbhs __evenaccess *)0xD0400) +#define WDT (*(volatile struct st_wdt __evenaccess *)0x88020) +#pragma bit_order +#pragma packoption +#endif \ No newline at end of file diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_macrodriver.h b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_macrodriver.h new file mode 100644 index 000000000..19209ffe1 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_macrodriver.h @@ -0,0 +1,99 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_macrodriver.h +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : This file implements general head file. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ +#ifndef MODULEID_H +#define MODULEID_H +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_iodefine.h" +#include + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +#ifndef __TYPEDEF__ + +/* Status list definition */ +#define MD_STATUSBASE (0x00U) +#define MD_OK (MD_STATUSBASE + 0x00U) /* register setting OK */ +#define MD_SPT (MD_STATUSBASE + 0x01U) /* IIC stop */ +#define MD_NACK (MD_STATUSBASE + 0x02U) /* IIC no ACK */ +#define MD_BUSY1 (MD_STATUSBASE + 0x03U) /* busy 1 */ +#define MD_BUSY2 (MD_STATUSBASE + 0x04U) /* busy 2 */ + +/* Error list definition */ +#define MD_ERRORBASE (0x80U) +#define MD_ERROR (MD_ERRORBASE + 0x00U) /* error */ +#define MD_ARGERROR (MD_ERRORBASE + 0x01U) /* error argument input error */ +#define MD_ERROR1 (MD_ERRORBASE + 0x02U) /* error 1 */ +#define MD_ERROR2 (MD_ERRORBASE + 0x03U) /* error 2 */ +#define MD_ERROR3 (MD_ERRORBASE + 0x04U) /* error 3 */ +#define MD_ERROR4 (MD_ERRORBASE + 0x05U) /* error 4 */ +#define MD_ERROR5 (MD_ERRORBASE + 0x06U) /* error 5 */ + +/* BRK handler command options */ +typedef enum { + BRK_NO_COMMAND, + BRK_ALL_MODULE_CLOCK_STOP, + BRK_SLEEP, + BRK_DEEP_SLEEP, + BRK_STANDBY, + BRK_LOAD_FINTV_REGISTER +} brk_commands; +#endif + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ +#ifndef __TYPEDEF__ +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed long int32_t; +typedef unsigned long uint32_t; +typedef unsigned short MD_STATUS; +#define __TYPEDEF__ +#endif + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +void HardwareSetup(void); +void R_Systeminit(void); + +#endif \ No newline at end of file diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_resetprg.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_resetprg.c new file mode 100644 index 000000000..301dbe9fa --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_resetprg.c @@ -0,0 +1,96 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_resetprg.c +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : Reset program. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include +#include <_h_c_lib.h> +//#include // Remove the comment when you use errno +//#include // Remove the comment when you use rand() +#include "r_cg_stacksct.h" +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ + +#ifdef __cplusplus +extern "C" { +#endif +void PowerON_Reset(void); +void main(void); +#ifdef __cplusplus +} +#endif + +#define PSW_init 0x00010000 /* PSW bit pattern */ +#define FPSW_init 0x00000000 /* FPSW bit base pattern */ + +#pragma section ResetPRG /* output PowerON_Reset to PResetPRG section */ + +#pragma entry PowerON_Reset + +void PowerON_Reset(void) +{ + set_intb(__sectop("C$VECT")); + +#ifdef __ROZ /* Initialize FPSW */ +#define _ROUND 0x00000001 /* Let FPSW RMbits=01 (round to zero) */ +#else +#define _ROUND 0x00000000 /* Let FPSW RMbits=00 (round to nearest) */ +#endif +#ifdef __DOFF +#define _DENOM 0x00000100 /* Let FPSW DNbit=1 (denormal as zero) */ +#else +#define _DENOM 0x00000000 /* Let FPSW DNbit=0 (denormal as is) */ +#endif + + set_fpsw(FPSW_init | _ROUND | _DENOM); + + _INITSCT(); /* Initialize Sections */ + HardwareSetup(); /* Use Hardware Setup */ + nop(); + set_psw(PSW_init); /* Set Ubit & Ibit for PSW */ + main(); + brk(); +} +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_sbrk.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_sbrk.c new file mode 100644 index 000000000..34486d332 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_sbrk.c @@ -0,0 +1,91 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_sbrk.c +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : Program of sbrk. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include +#include +#include "r_cg_sbrk.h" +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ + +int8_t *sbrk(size_t size); + +extern int8_t *_s1ptr; + +union HEAP_TYPE +{ + int16_t dummy ; /* Dummy for 4-byte boundary */ + int8_t heap[HEAPSIZE]; /* Declaration of the area managed by sbrk */ +}; + +static union HEAP_TYPE heap_area ; + +/* End address allocated by sbrk */ +static int8_t *brk = (int8_t *) &heap_area; + +/**************************************************************************/ +/* sbrk:Memory area allocation */ +/* Return value:Start address of allocated area (Pass) */ +/* -1 (Failure) */ +/**************************************************************************/ +int8_t *sbrk(size_t size) /* Assigned area size */ +{ + int8_t *p; + + if (brk+size > heap_area.heap + HEAPSIZE) /* Empty area size */ + { + p = (int8_t *)-1; + } + else + { + p = brk; /* Area assignment */ + brk += size; /* End address update */ + } + + return p; +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_sbrk.h b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_sbrk.h new file mode 100644 index 000000000..b5a48c079 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_sbrk.h @@ -0,0 +1,53 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_sbrk.h +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : Header file of sbrk file. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ +#ifndef _SBRK_H +#define _SBRK_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ +#define HEAPSIZE (0x400U) /* Size of area managed by sbrk */ + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ + +#endif \ No newline at end of file diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_stacksct.h b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_stacksct.h new file mode 100644 index 000000000..afb7e2fde --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_stacksct.h @@ -0,0 +1,55 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_stacksct.h +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : Setting of Stack area. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ +#ifndef _STACKSCT_H +#define _STACKSCT_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +#pragma stacksize su = 0x100 +#pragma stacksize si = 0x300 + + +#endif \ No newline at end of file diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_userdefine.h b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_userdefine.h new file mode 100644 index 000000000..610e2deb3 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_userdefine.h @@ -0,0 +1,43 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_userdefine.h +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : This file includes user definition. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ +#ifndef _USER_DEF_H +#define _USER_DEF_H + +/*********************************************************************************************************************** +User definitions +***********************************************************************************************************************/ +#define FAST_INTERRUPT_VECTOR 0 + +/* Start user code for function. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#endif \ No newline at end of file diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_vect.h b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_vect.h new file mode 100644 index 000000000..aa6396eee --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_vect.h @@ -0,0 +1,88 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_vect.h +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : This file contains definition of vector. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ +#ifndef _VECT_H +#define _VECT_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +/* Undefined */ +#pragma interrupt (r_undefined_exception) +void r_undefined_exception(void); + +/* Reserved */ +#pragma interrupt (r_reserved_exception) +void r_reserved_exception(void); + +/* NMI */ +#pragma interrupt (r_nmi_exception) +void r_nmi_exception(void); + +/* ICU GROUPBE0 */ +#pragma interrupt (r_icua_group_be0_interrupt(vect=106)) +void r_icua_group_be0_interrupt(void); + +/* ICU GROUPBL0 */ +#pragma interrupt (r_icua_group_bl0_interrupt(vect=110)) +void r_icua_group_bl0_interrupt(void); + +/* ICU GROUPBL1 */ +#pragma interrupt (r_icua_group_bl1_interrupt(vect=111)) +void r_icua_group_bl1_interrupt(void); + +/* ICU GROUPAL0 */ +#pragma interrupt (r_icua_group_al0_interrupt(vect=112)) +void r_icua_group_al0_interrupt(void); + +/* ICU GROUPAL1 */ +#pragma interrupt (r_icua_group_al1_interrupt(vect=113)) +void r_icua_group_al1_interrupt(void); + +/*;<> */ +/*;Power On Reset PC */ +extern void PowerON_Reset(void); +/*;<> */ + +#endif \ No newline at end of file diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_vecttbl.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_vecttbl.c new file mode 100644 index 000000000..a798651f1 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/Renesas_Code/cg_src/r_cg_vecttbl.c @@ -0,0 +1,103 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation 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 +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO 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) 2013 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_vecttbl.c +* Version : Applilet4 for RX64M V1.00.00.00 [02 Aug 2013] +* Device(s) : R5F564MLHxFC +* Tool-Chain : CCRX +* Description : This file initializes the vector table. +* Creation Date: 07/02/2014 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_vect.h" +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ + +#pragma section C FIXEDVECT + +void (*const Fixed_Vectors[])(void) = { +/*;0xffffffd0 Exception(Supervisor Instruction) */ + r_undefined_exception, +/*;0xffffffd4 Reserved */ + r_undefined_exception, +/*;0xffffffd8 Reserved */ + r_reserved_exception, +/*;0xffffffdc Exception(Undefined Instruction) */ + r_undefined_exception, +/*;0xffffffe0 Reserved */ + r_reserved_exception, +/*;0xffffffe4 Exception(Floating Point) */ + r_undefined_exception, +/*;0xffffffe8 Reserved */ + r_reserved_exception, +/*;0xffffffec Reserved */ + r_reserved_exception, +/*;0xfffffff0 Reserved */ + r_reserved_exception, +/*;0xfffffff4 Reserved */ + r_reserved_exception, +/*;0xfffffff8 NMI */ + r_nmi_exception, +/*;0xfffffffc RESET */ +/*;<> */ +/*;Power On Reset PC */ + /*(void*)*/ PowerON_Reset +/*;<> */ +}; + +/* ID codes (Default) */ +#pragma address id_code=0xffffffa0 +const unsigned long id_code[4] = { + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, +}; + +/* MDE register (Single Chip Mode) */ +#pragma address _MDEreg=0xffffff80 +#ifdef __BIG + /* Big endian*/ + const unsigned long _MDEreg = 0xfffffff8; +#else + /* Little endian */ + const unsigned long _MDEreg = 0xffffffff; +#endif + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/main.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/main.c new file mode 100644 index 000000000..9dbd3b13b --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/main.c @@ -0,0 +1,275 @@ +/* + FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd. + All rights reserved + + VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS provides completely free yet professionally developed, * + * robust, strictly quality controlled, supported, and cross * + * platform software that has become a de facto standard. * + * * + * Help yourself get started quickly and support the FreeRTOS * + * project by purchasing a FreeRTOS tutorial book, reference * + * manual, or both from: http://www.FreeRTOS.org/Documentation * + * * + * Thank you! * + * * + *************************************************************************** + + This file is part of the FreeRTOS distribution. + + FreeRTOS is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License (version 2) as published by the + Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception. + + >>! NOTE: The modification to the GPL is included to allow you to distribute + >>! a combined work that includes FreeRTOS without being obliged to provide + >>! the source code for proprietary components outside of the FreeRTOS + >>! kernel. + + FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. Full license text is available from the following + link: http://www.freertos.org/a00114.html + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, a DOS + compatible FAT file system, and our tiny thread aware UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS + licenses offer ticketed support, indemnification and middleware. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. + + 1 tab == 4 spaces! +*/ + +/****************************************************************************** + * This project provides two demo applications. A simple blinky style project, + * and a more comprehensive test and demo application. The + * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting (defined in this file) is used to + * select between the two. The simply blinky demo is implemented and described + * in main_blinky.c. The more comprehensive test and demo application is + * implemented and described in main_full.c. + * + * This file implements the code that is not demo specific, including the + * hardware setup and FreeRTOS hook functions. + * + * ENSURE TO READ THE DOCUMENTATION PAGE FOR THIS PORT AND DEMO APPLICATION ON + * THE http://www.FreeRTOS.org WEB SITE FOR FULL INFORMATION ON USING THIS DEMO + * APPLICATION, AND ITS ASSOCIATE FreeRTOS ARCHITECTURE PORT! + * + */ + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* Standard demo includes. */ +//#include "partest.h" +//#include "TimerDemo.h" +//#include "QueueOverwrite.h" +//#include "EventGroupsDemo.h" + +/* Renesas includes. */ +#include "r_cg_macrodriver.h" +//#include "r_cg_cgc.h" +//#include "r_cg_cmt.h" +//#include "r_cg_userdefine.h" + +/* Set option bytes */ +#pragma address OFS0_location = 0xFFFFFF8CUL +#pragma address OFS1_location = 0xFFFFFF88UL +volatile const uint32_t OFS0_location = 0xFFFFFFFFUL; +volatile const uint32_t OFS1_location = 0xFFFFFFFFUL; + + +/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo, +or 0 to run the more comprehensive test and demo application. */ +#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 1 + +/*-----------------------------------------------------------*/ + +/* + * Configure the hardware as necessary to run this demo. + */ +static void prvSetupHardware( void ); + +/* + * main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1. + * main_full() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0. + */ +#if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 + extern void main_blinky( void ); +#else + extern void main_full( void ); +#endif /* #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 */ + +/* + * The Xilinx projects use a BSP that do not allow the start up code to be + * altered easily. Therefore the vector table used by FreeRTOS is defined in + * FreeRTOS_asm_vectors.S, which is part of this project. Switch to use the + * FreeRTOS vector table. + */ +extern void vPortInstallFreeRTOSVectorTable( void ); + +/* Prototypes for the standard FreeRTOS callback/hook functions implemented +within this file. */ +void vApplicationMallocFailedHook( void ); +void vApplicationIdleHook( void ); +void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName ); +void vApplicationTickHook( void ); + +/*-----------------------------------------------------------*/ + +int main( void ) +{ + /* Configure the hardware ready to run the demo. */ + prvSetupHardware(); + + /* The mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting is described at the top + of this file. */ + #if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 ) + { + main_blinky(); + } + #else + { + main_full(); + } + #endif + + /* Don't expect to reach here. */ + return 0; +} +/*-----------------------------------------------------------*/ + +static void prvSetupHardware( void ) +{ +} +/*-----------------------------------------------------------*/ + +void vApplicationMallocFailedHook( void ) +{ + /* Called if a call to pvPortMalloc() fails because there is insufficient + free memory available in the FreeRTOS heap. pvPortMalloc() is called + internally by FreeRTOS API functions that create tasks, queues, software + timers, and semaphores. The size of the FreeRTOS heap is set by the + configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */ + taskDISABLE_INTERRUPTS(); + for( ;; ); +} +/*-----------------------------------------------------------*/ + +void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName ) +{ + ( void ) pcTaskName; + ( void ) pxTask; + + /* Run time stack overflow checking is performed if + configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook + function is called if a stack overflow is detected. */ + taskDISABLE_INTERRUPTS(); + for( ;; ); +} +/*-----------------------------------------------------------*/ + +void vApplicationIdleHook( void ) +{ +volatile size_t xFreeHeapSpace; + + /* This is just a trivial example of an idle hook. It is called on each + cycle of the idle task. It must *NOT* attempt to block. In this case the + idle task just queries the amount of FreeRTOS heap that remains. See the + memory management section on the http://www.FreeRTOS.org web site for memory + management options. If there is a lot of heap memory free then the + configTOTAL_HEAP_SIZE value in FreeRTOSConfig.h can be reduced to free up + RAM. */ + xFreeHeapSpace = xPortGetFreeHeapSize(); + + /* Remove compiler warning about xFreeHeapSpace being set but never used. */ + ( void ) xFreeHeapSpace; +} +/*-----------------------------------------------------------*/ + +void vApplicationTickHook( void ) +{ + #if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 0 ) + { + /* The full demo includes a software timer demo/test that requires + prodding periodically from the tick interrupt. */ + vTimerPeriodicISRTests(); + + /* Call the periodic queue overwrite from ISR demo. */ + vQueueOverwritePeriodicISRDemo(); + + /* Call the periodic event group from ISR demo. */ + vPeriodicEventGroupsProcessing(); + } + #endif +} +/*-----------------------------------------------------------*/ + +void vAssertCalled( void ) +{ +volatile unsigned long ul = 0; + + taskENTER_CRITICAL(); + { + /* Use the debugger to set ul to a non-zero value in order to step out + of this function to determine why it was called. */ + while( ul == 0 ) + { + portNOP(); + } + } + taskEXIT_CRITICAL(); +} +/*-----------------------------------------------------------*/ + +/* 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; +} +/*-----------------------------------------------------------*/ diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/main_blinky.c b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/main_blinky.c new file mode 100644 index 000000000..b84f2a020 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/Source/main_blinky.c @@ -0,0 +1,232 @@ +/* + FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd. + All rights reserved + + VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + *************************************************************************** + * * + * FreeRTOS provides completely free yet professionally developed, * + * robust, strictly quality controlled, supported, and cross * + * platform software that has become a de facto standard. * + * * + * Help yourself get started quickly and support the FreeRTOS * + * project by purchasing a FreeRTOS tutorial book, reference * + * manual, or both from: http://www.FreeRTOS.org/Documentation * + * * + * Thank you! * + * * + *************************************************************************** + + This file is part of the FreeRTOS distribution. + + FreeRTOS is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License (version 2) as published by the + Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception. + + >>! NOTE: The modification to the GPL is included to allow you to distribute + >>! a combined work that includes FreeRTOS without being obliged to provide + >>! the source code for proprietary components outside of the FreeRTOS + >>! kernel. + + FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. Full license text is available from the following + link: http://www.freertos.org/a00114.html + + 1 tab == 4 spaces! + + *************************************************************************** + * * + * Having a problem? Start by reading the FAQ "My application does * + * not run, what could be wrong?" * + * * + * http://www.FreeRTOS.org/FAQHelp.html * + * * + *************************************************************************** + + http://www.FreeRTOS.org - Documentation, books, training, latest versions, + license and Real Time Engineers Ltd. contact details. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, a DOS + compatible FAT file system, and our tiny thread aware UDP/IP stack. + + http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High + Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS + licenses offer ticketed support, indemnification and middleware. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. + + 1 tab == 4 spaces! +*/ + +/****************************************************************************** + * NOTE 1: This project provides two demo applications. A simple blinky style + * project, and a more comprehensive test and demo application. The + * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select + * between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY + * in main.c. This file implements the simply blinky style version. + * + * NOTE 2: This file only contains the source code that is specific to the + * basic demo. Generic functions, such FreeRTOS hook functions, and functions + * required to configure the hardware are defined in main.c. + ****************************************************************************** + * + * main_blinky() creates one queue, and two tasks. It then starts the + * scheduler. + * + * The Queue Send Task: + * The queue send task is implemented by the prvQueueSendTask() function in + * this file. prvQueueSendTask() sits in a loop that causes it to repeatedly + * block for 200 milliseconds, before sending the value 100 to the queue that + * was created within main_blinky(). Once the value is sent, the task loops + * back around to block for another 200 milliseconds...and so on. + * + * The Queue Receive Task: + * The queue receive task is implemented by the prvQueueReceiveTask() function + * in this file. prvQueueReceiveTask() sits in a loop where it repeatedly + * blocks on attempts to read data from the queue that was created within + * main_blinky(). When data is received, the task checks the value of the + * data, and if the value equals the expected 100, toggles an LED. The 'block + * time' parameter passed to the queue receive function specifies that the + * task should be held in the Blocked state indefinitely to wait for data to + * be available on the queue. The queue receive task will only leave the + * Blocked state when the queue send task writes to the queue. As the queue + * send task writes to the queue every 200 milliseconds, the queue receive + * task leaves the Blocked state every 200 milliseconds, and therefore toggles + * the LED every 200 milliseconds. + */ + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* Standard demo includes. */ +#include "partest.h" + +/* Priorities at which the tasks are created. */ +#define mainQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) +#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 ) + +/* The rate at which data is sent to the queue. The 200ms value is converted +to ticks using the portTICK_PERIOD_MS constant. */ +#define mainQUEUE_SEND_FREQUENCY_MS ( 200 / portTICK_PERIOD_MS ) + +/* The number of items the queue can hold. This is 1 as the receive task +will remove items as they are added, meaning the send task should always find +the queue empty. */ +#define mainQUEUE_LENGTH ( 1 ) + +/* The LED toggled by the Rx task. */ +#define mainTASK_LED ( 0 ) + +/*-----------------------------------------------------------*/ + +/* + * The tasks as described in the comments at the top of this file. + */ +static void prvQueueReceiveTask( void *pvParameters ); +static void prvQueueSendTask( void *pvParameters ); + +/* + * Called by main() to create the simply blinky style application if + * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1. + */ +void main_blinky( void ); + +/*-----------------------------------------------------------*/ + +/* The queue used by both tasks. */ +static QueueHandle_t xQueue = NULL; + +/*-----------------------------------------------------------*/ + +void main_blinky( void ) +{ + /* Create the queue. */ + xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( uint32_t ) ); + + if( xQueue != NULL ) + { + /* Start the two tasks as described in the comments at the top of this + file. */ + xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */ + "Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */ + configMINIMAL_STACK_SIZE, /* The size of the stack to allocate to the task. */ + NULL, /* The parameter passed to the task - not used in this case. */ + mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */ + NULL ); /* The task handle is not required, so NULL is passed. */ + + xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL ); + + /* Start the tasks and timer running. */ + vTaskStartScheduler(); + } + + /* If all is well, the scheduler will now be running, and the following + line will never be reached. If the following line does execute, then + there was either insufficient FreeRTOS heap memory available for the idle + and/or timer tasks to be created, or vTaskStartScheduler() was called from + User mode. See the memory management section on the FreeRTOS web site for + more details on the FreeRTOS heap http://www.freertos.org/a00111.html. The + mode from which main() is called is set in the C start up code and must be + a privileged mode (not user mode). */ + for( ;; ); +} +/*-----------------------------------------------------------*/ + +static void prvQueueSendTask( void *pvParameters ) +{ +TickType_t xNextWakeTime; +const unsigned long ulValueToSend = 100UL; + + /* Remove compiler warning about unused parameter. */ + ( void ) pvParameters; + + /* 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, mainQUEUE_SEND_FREQUENCY_MS ); + + /* Send to the queue - causing the queue receive task to unblock and + toggle the LED. 0 is used as the block time so the sending operation + will not block - it shouldn't need to block as the queue should always + be empty at this point in the code. */ + xQueueSend( xQueue, &ulValueToSend, 0U ); + } +} +/*-----------------------------------------------------------*/ + +static void prvQueueReceiveTask( void *pvParameters ) +{ +unsigned long ulReceivedValue; +const unsigned long ulExpectedValue = 100UL; + + /* Remove compiler warning about unused parameter. */ + ( void ) pvParameters; + + for( ;; ) + { + /* Wait until something arrives in the queue - this task will block + indefinitely provided INCLUDE_vTaskSuspend is set to 1 in + FreeRTOSConfig.h. */ + xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY ); + + /* To get here something must have been received from the queue, but + is it the expected value? If it is, toggle the LED. */ + if( ulReceivedValue == ulExpectedValue ) + { + vParTestToggleLED( mainTASK_LED ); + ulReceivedValue = 0U; + } + } +} +/*-----------------------------------------------------------*/ + diff --git a/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/makefile.init b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/makefile.init new file mode 100644 index 000000000..e3d658918 --- /dev/null +++ b/FreeRTOS/Demo/RX600_RX64M_RSK_Renesas_e2studio/makefile.init @@ -0,0 +1,8 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +export INC_RX=C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\include +export RXC_LIB=C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\bin +export BIN_RX=C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\bin +PATH := $(PATH):C:\Devtools\Renesas\Hew\Tools\Renesas\RX\1_2_1\bin \ No newline at end of file -- 2.39.5