]> git.sur5r.net Git - freertos/commitdiff
Initial RZ/T port and demo - work in progress, currently only the tick interrupt...
authorrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 7 Sep 2015 17:29:14 +0000 (17:29 +0000)
committerrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 7 Sep 2015 17:29:14 +0000 (17:29 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2373 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

72 files changed:
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.HardwareDebuglinker [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.Releaselinker [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.cproject [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.info [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.project [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.settings/Dependency_Scan_Preferences.prefs [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.settings/Project_Generation_Prefrences.prefs [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.settings/language.settings.xml [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/RTOSDemo HardwareDebug.jlink [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/GNU_LINKER_ATCM.ld [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/asm/loader_init.asm [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/asm/start.asm [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/asm/vector.asm [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/inc/compiler_settings.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/inc/gnu_io.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/src/gnu_io.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/src/loader_init2.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/src/syscalls.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/r_atcm_init.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/r_ram_init.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/r_reset.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/siochar.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/siorw.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/ascii.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/iodefine.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/lcd_pmod.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/logo_data.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_atcm_init.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_bsc.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_ram_init.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_reset.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_system.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_typedefs.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/siochar.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/makefile.init [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cgc.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cgc.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cgc_user.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cmt.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cmt.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cmt_user.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_icu.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_icu.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_icu_user.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_interrupthandlers.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_intprg.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_macrodriver.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_mpc.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_mpc.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_port.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_port.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_port_user.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_rspi.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_rspi.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_rspi_user.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_s12ad.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_s12ad.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_s12ad_user.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_scifa.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_scifa.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_scifa_user.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_systeminit.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_tpu.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_tpu.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_tpu_user.c [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_userdefine.h [new file with mode: 0644]
FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/main.c [new file with mode: 0644]
FreeRTOS/Source/include/StackMacros.h
FreeRTOS/Source/portable/GCC/ARM_CRx_No_GIC/port.c [new file with mode: 0644]
FreeRTOS/Source/portable/GCC/ARM_CRx_No_GIC/portASM.S [new file with mode: 0644]
FreeRTOS/Source/portable/GCC/ARM_CRx_No_GIC/portmacro.h [new file with mode: 0644]
FreeRTOS/Source/tasks.c

diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.HardwareDebuglinker b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.HardwareDebuglinker
new file mode 100644 (file)
index 0000000..b9aca81
--- /dev/null
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="ASCII"?>\r
+<com.renesas.linkersection.model:SectionContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:com.renesas.linkersection.model="http:///LinkerSection.ecore">\r
+  <sections name=".flash_contents" isKeep="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="805306444"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_mloader_text"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs=". = . + (_loader_text_end - _loader_text_start)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_mtext"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs=". = . + (_text_end - _text_start)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_mdata"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs=". = . + (_data_end - _data_start)"/>\r
+  </sections>\r
+  <sections name=".fvectors" isKeep="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_text_start"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".fvectors"/>\r
+    <reservedMemAddress xsi:type="com.renesas.linkersection.model:ReferencedLabelAddress" label="//@sections.0/@contents.2"/>\r
+  </sections>\r
+  <sections name=".text">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.1"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".text"/>\r
+  </sections>\r
+  <sections name=".rvectors" isKeep="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.2"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_rvectors_start"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rvectors"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_rvectors_end"/>\r
+  </sections>\r
+  <sections name=".init">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.3"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".init"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE_HIDDEN (__exidx_start = .)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE_HIDDEN (__exidx_end = .)"/>\r
+  </sections>\r
+  <sections name=".fini">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.4"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".fini"/>\r
+  </sections>\r
+  <sections name=".got">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.5"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".got"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".got.plt"/>\r
+  </sections>\r
+  <sections name=".rodata">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.6"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rodata"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rodata.*"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_erodata"/>\r
+  </sections>\r
+  <sections name=".eh_frame_hdr">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.7"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".eh_frame_hdr"/>\r
+  </sections>\r
+  <sections name=".eh_frame">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.8"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".eh_frame"/>\r
+  </sections>\r
+  <sections name=".jcr">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.9"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".jcr"/>\r
+  </sections>\r
+  <sections name=".tors">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.10"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__CTOR_LIST__"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text=". = ALIGN(2)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__ctors"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".ctors"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__ctors_end"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__CTOR_END__"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__DTOR_LIST__"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="___dtors"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".dtors"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="___dtors_end"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__DTOR_END__"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text=". = ALIGN(2)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_text_end"/>\r
+  </sections>\r
+  <sections name=".loader_param" isKeep="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8388608"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".loader_param"/>\r
+    <reservedMemAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="805306368"/>\r
+  </sections>\r
+  <sections name=".loader_text">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8396800"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_loader_text_start"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".loader_text"/>\r
+    <reservedMemAddress xsi:type="com.renesas.linkersection.model:ReferencedLabelAddress" label="//@sections.0/@contents.0"/>\r
+  </sections>\r
+  <sections name=".loader_text2">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.13"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".loader_text2"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs=". = . + (512 - ((. - _loader_text_start) % 512))"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_loader_text_end"/>\r
+  </sections>\r
+  <sections name=".data">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="520192"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_data_start"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".data"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_data_end"/>\r
+    <reservedMemAddress xsi:type="com.renesas.linkersection.model:ReferencedLabelAddress" label="//@sections.0/@contents.4"/>\r
+  </sections>\r
+  <sections name=".bss">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.15"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(__bss_start__ = .)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_bss"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".bss"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".bss.**"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name="COMMON"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(__bss_end__ = .)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_ebss"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_end"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(end = .)"/>\r
+  </sections>\r
+  <sections name=".heap" isNoLoad="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8417280"/>\r
+  </sections>\r
+  <sections name=".sys_stack" isNoLoad="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8419840"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".sys_stack"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_sys_stack"/>\r
+  </sections>\r
+  <sections name=".svc_stack" isNoLoad="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8420352"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".svc_stack"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_svc_stack"/>\r
+  </sections>\r
+  <sections name=".irq_stack" isNoLoad="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8420608"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".irq_stack"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_irq_stack"/>\r
+  </sections>\r
+  <sections name=".fiq_stack" isNoLoad="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8420864"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".fiq_stack"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_fiq_stack"/>\r
+  </sections>\r
+  <sections name=".und_stack" isNoLoad="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8421120"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".und_stack"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_und_stack"/>\r
+  </sections>\r
+  <sections name=".abt_stack" isNoLoad="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="8421376"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".und_stack"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_abt_stack"/>\r
+  </sections>\r
+</com.renesas.linkersection.model:SectionContainer>\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.Releaselinker b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.Releaselinker
new file mode 100644 (file)
index 0000000..da6f600
--- /dev/null
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="ASCII"?>\r
+<com.renesas.linkersection.model:SectionContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:com.renesas.linkersection.model="http:///LinkerSection.ecore">\r
+  <sections name=".fvectors" isKeep="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="537001984"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".fvectors"/>\r
+  </sections>\r
+  <sections name=".text">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="537002240"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".text"/>\r
+  </sections>\r
+  <sections name=".rvectors">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.1"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_rvectors_start"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rvectors"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_rvectors_end"/>\r
+  </sections>\r
+  <sections name=".init">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.2"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".init"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE_HIDDEN (__exidx_start = .)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE_HIDDEN (__exidx_end = .)"/>\r
+  </sections>\r
+  <sections name=".fini">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.3"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".fini"/>\r
+  </sections>\r
+  <sections name=".got">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.4"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".got"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".got.plt"/>\r
+  </sections>\r
+  <sections name=".rodata">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.5"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rodata"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".rodata.*"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_erodata"/>\r
+  </sections>\r
+  <sections name=".eh_frame_hdr">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.6"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".eh_frame_hdr"/>\r
+  </sections>\r
+  <sections name=".eh_frame">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.7"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".eh_frame"/>\r
+  </sections>\r
+  <sections name=".jcr">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.8"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".jcr"/>\r
+  </sections>\r
+  <sections name=".tors">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.9"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__CTOR_LIST__"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text=". = ALIGN(2)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__ctors"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".ctors"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__ctors_end"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__CTOR_END__"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__DTOR_LIST__"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="___dtors"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".dtors"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="___dtors_end"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="__DTOR_END__"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text=". = ALIGN(2)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_mdata"/>\r
+  </sections>\r
+  <sections name=".data">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="537264384"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_data"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".data"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_edata"/>\r
+    <reservedMemAddress xsi:type="com.renesas.linkersection.model:ReferencedLabelAddress" label="//@sections.10/@contents.12"/>\r
+  </sections>\r
+  <sections name=".bss">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:ReferencedSectionAddress" referencedSection="//@sections.11"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(__bss_start__ = .)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_bss"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".bss"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name=".bss.**"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:WildCardExpression" specificSection="true" name="COMMON"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(__bss_end__ = .)"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_ebss"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_end"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Keyword" text="PROVIDE(end = .)"/>\r
+  </sections>\r
+  <sections name=".stack" isNoLoad="true">\r
+    <sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="537268480"/>\r
+    <contents xsi:type="com.renesas.linkersection.model:Label" rhs="= .;" lhs="_stack"/>\r
+  </sections>\r
+</com.renesas.linkersection.model:SectionContainer>\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.cproject b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.cproject
new file mode 100644 (file)
index 0000000..741ba76
--- /dev/null
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">\r
+       <storageModule moduleId="org.eclipse.cdt.core.settings">\r
+               <cconfiguration id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302">\r
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302" moduleId="org.eclipse.cdt.core.settings" name="HardwareDebug">\r
+                               <externalSettings/>\r
+                               <extensions>\r
+                                       <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+                               <configuration artifactName="RTOSDemo" buildArtefactType="com.renesas.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=com.renesas.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf *.lst *.lis *.lpp *.map" description="" errorParsers="org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GCCErrorParser" id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302" name="HardwareDebug" parent="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id" postbuildStep="arm-none-eabi-objcopy -O binary ${ProjName}.x  ${ProjName}.bin&amp;">\r
+                                       <folderInfo id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302." name="/" resourcePath="">\r
+                                               <toolChain id="com.renesas.cdt.rz.hardwaredebug.win32.toolchain.Id.1095218391" name="KPIT GNUARM-NONE-EABI Toolchain" superClass="com.renesas.cdt.rz.hardwaredebug.win32.toolchain.Id">\r
+                                                       <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.PE" id="com.renesas.cdt.rz.hardwaredebug.win32.targetplatform.Id.1812905899" name="Target Platform" osList="all" superClass="com.renesas.cdt.rz.hardwaredebug.win32.targetplatform.Id"/>\r
+                                                       <builder buildPath="${workspace_loc:/Tutorial}/HardwareDebug" id="com.renesas.cdt.rz.hardwaredebug.win32.builder.Id.325418915" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Builder" superClass="com.renesas.cdt.rz.hardwaredebug.win32.builder.Id"/>\r
+                                                       <tool command="" id="com.renesas.cdt.rz.hardwaredebug.win32.tool.libgen.Id.1484301438" name="Library Generator" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.libgen.Id">\r
+                                                               <option id="com.renesas.cdt.core.LibraryGenerator.option.stdio.521338791" name="stdio.h : Performs input/output handling" superClass="com.renesas.cdt.core.LibraryGenerator.option.stdio" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.LibraryGenerator.option.stdlib.1342580965" name="stdlib.h : Performs C program standard processing such as storage area management" superClass="com.renesas.cdt.core.LibraryGenerator.option.stdlib" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.LibraryGenerator.option.string.124919993" name="string.h : Performs string comparison, copying " superClass="com.renesas.cdt.core.LibraryGenerator.option.string" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.LibraryGenerator.option.selectLibrary.605211704" name="Select library" superClass="com.renesas.cdt.core.LibraryGenerator.option.selectLibrary" value="com.renesas.core.LibraryGenerator.option.selectLibrary.newLib" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.core.LibraryGenerator.option.libraryType.1944449788" name="Library type" superClass="com.renesas.cdt.core.LibraryGenerator.option.libraryType" value="com.renesas.cdt.core.LibraryGenerator.option.libraryType.preBuilt" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.core.LibraryGenerator.option.misc9.647629590" name="Place each function into its own section in the output file(-ffunction-sections)" superClass="com.renesas.cdt.core.LibraryGenerator.option.misc9" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.LibraryGenerator.option.misc14.1902249451" name="Do not put function addresses in registers(-fno-function-cse)" superClass="com.renesas.cdt.core.LibraryGenerator.option.misc14" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.LibraryGenerator.option.misc36.1398214108" name="Parse the whole compilation unit before starting to produce code ( -funit-at-a-time)" superClass="com.renesas.cdt.core.LibraryGenerator.option.misc36" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.LibraryGenerator.option.misc10.983076495" name="Place each data into its own section in the output file(-fdata-sections)" superClass="com.renesas.cdt.core.LibraryGenerator.option.misc10" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.LibraryGenerator.option.misc37.271380479" name="Align branch targets to a power-of-two boundary (-falign-jumps)" superClass="com.renesas.cdt.core.LibraryGenerator.option.misc37" value="true" valueType="boolean"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.renesas.cdt.rz.hardwaredebug.win32.tool.compiler.Id.542544613" name="Compiler" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.compiler.Id">\r
+                                                               <option defaultValue="true" id="com.renesas.cdt.core.Compiler.option.misc2.721392830" name="Don't search standard system directories for header files(-nostdinc)" superClass="com.renesas.cdt.core.Compiler.option.misc2" value="false" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.architecture.638675850" name="Architecture" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.architecture" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.architecture.armv7r" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.cpuType.585789719" name="CPU type" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.cpuType" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.cpuType.cortexr4f" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.dataEndian.972047238" name="Endian" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.dataEndian" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.dataEndian.little" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.instructionset.1821119680" name="Instruction Set" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.instructionset" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.instructionset.arm" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.interworking.1256187562" name="Interworking (-mthumb-interwork)" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.interworking" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.targetfpu.789930608" name="Target FPU (-mfpu)" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.targetfpu" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.targetfpu.vfp" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.floatingpointabi.81534707" name="Floating-point ABI (-mfloat-abi=name)" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.floatingpointabi" value="com.renesas.cdt.rz.HardwareDebug.Compiler.option.floatingpointabi.hard" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.device.615172162" name="Device" superClass="com.renesas.cdt.core.Compiler.option.device" value="R7S910018" valueType="string"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.deviceShortName.897790463" name="DeviceShortName" superClass="com.renesas.cdt.core.Compiler.option.deviceShortName" value="R7S910018" valueType="string"/>\r
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.core.Compiler.option.includeFileDir.1914876765" name="Include file directories" superClass="com.renesas.cdt.core.Compiler.option.includeFileDir" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${TCINSTALL}/bin/newlib/libc/sys/arm&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/Full_Demo/Standard_Demo_Tasks/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/FreeRTOS_Source/portable/GCC/ARM_CRx_No_GIC}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/cg_src}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/System/GCC/inc}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>\r
+                                                               </option>\r
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.rz.HardwareDebug.Compiler.option.userDefinedOptions.1781067444" name="User defined options" superClass="com.renesas.cdt.rz.HardwareDebug.Compiler.option.userDefinedOptions" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value=""/>\r
+                                                                       <listOptionValue builtIn="false" value=""/>\r
+                                                                       <listOptionValue builtIn="false" value=""/>\r
+                                                               </option>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.stdWarnings.1242616069" name="Standard Warnings" superClass="com.renesas.cdt.core.Compiler.option.stdWarnings" value="com.renesas.cdt.core.Compiler.option.stdWarnings.enableAll" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning1.1895271986" name="Issue Warning if an array subscript has type char(-Wchar-subscripts)" superClass="com.renesas.cdt.core.Compiler.option.warning1" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning2.794198457" name="Issue Warning if comment appears within comment(-Wcomment)" superClass="com.renesas.cdt.core.Compiler.option.warning2" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning3.1744608424" name="Issue Warning if string functions format is incorrect(-Wformat)" superClass="com.renesas.cdt.core.Compiler.option.warning3" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning4.1770361117" name="Issue Warning if a function or parameter is implicitly declared(-Wimplicit)" superClass="com.renesas.cdt.core.Compiler.option.warning4" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning5.848851103" name="Disable Warning about the use of #import(-Wno-import)" superClass="com.renesas.cdt.core.Compiler.option.warning5" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning6.950494022" name="Issue Warning if parentheses are omitted in certain contexts(-Wparentheses)" superClass="com.renesas.cdt.core.Compiler.option.warning6" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning7.426570819" name="Issue Warning of possible return type problems(-Wreturn-type)" superClass="com.renesas.cdt.core.Compiler.option.warning7" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning8.1352482889" name="Issue Warning of possible switch statement problems(-Wswitch)" superClass="com.renesas.cdt.core.Compiler.option.warning8" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning9.2116526382" name="Issue Warning if any trigraphs are encountered(-Wtrigraphs)" superClass="com.renesas.cdt.core.Compiler.option.warning9" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning10.1479535529" name="Issue Warning if a variable is unused aside from its declaration(-Wunused)" superClass="com.renesas.cdt.core.Compiler.option.warning10" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning11.1008512093" name="Issue Warning if an uninitialised automatic variable is used(-Wuninitialized)" superClass="com.renesas.cdt.core.Compiler.option.warning11" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning12.1590968671" name="Issue Warning of member initialisation mismatch(-Wreorder)" superClass="com.renesas.cdt.core.Compiler.option.warning12" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning13.1182362547" name="Issue Warning of bad sign comparisions(-Wsign-compare)" superClass="com.renesas.cdt.core.Compiler.option.warning13" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.advWarnings.1053226328" name="Advanced Warnings" superClass="com.renesas.cdt.core.Compiler.option.advWarnings" value="com.renesas.cdt.core.Compiler.option.advWarnings.selectOptions" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning14.2137532876" name="Print extra warning messages(-Wextra)" superClass="com.renesas.cdt.core.Compiler.option.warning14" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning15.28783595" name="Issue Warning if function returns structure or unions(-Waggregate-return)" superClass="com.renesas.cdt.core.Compiler.option.warning15" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning16.781374568" name="Issue Warning if a function call is cast to a nonmatching type(-Wbad-function-cast)" superClass="com.renesas.cdt.core.Compiler.option.warning16" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning17.1726527237" name="Issue Warning of bad alignment pointer casting(-Wcast-align)" superClass="com.renesas.cdt.core.Compiler.option.warning17" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning18.169372107" name="Issue Warning of bad type qualifier pointer casting(-Wcast-qual)" superClass="com.renesas.cdt.core.Compiler.option.warning18" value="false" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning19.2110378361" name="Issue Warning for certain prototype conversions(-Wconversion)" superClass="com.renesas.cdt.core.Compiler.option.warning19" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning20.1001242190" name="Convert all warnings to errors (-Werror)    " superClass="com.renesas.cdt.core.Compiler.option.warning20" value="false" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning21.355535354" name="Issue Warning if a function cannot be inline(-Winline)" superClass="com.renesas.cdt.core.Compiler.option.warning21" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning22.927679492" name="Issue Warning if a global function is defined not declared(-Wmissing-declarations)" superClass="com.renesas.cdt.core.Compiler.option.warning22" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning23.226850487" name="Issue Warning if a global function has no prototype declaration(-Wmissing-prototypes)" superClass="com.renesas.cdt.core.Compiler.option.warning23" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning24.1346714519" name="Issue Warning if an extern function is inside a function(-Wnested-externs)" superClass="com.renesas.cdt.core.Compiler.option.warning24" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning25.191482997" name="Issue Warning if dependency on the size of function or void(-Wpointer-arith)" superClass="com.renesas.cdt.core.Compiler.option.warning25" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning26.911763280" name="Issue Warning of multiple declarations(-Wredundant-decls)" superClass="com.renesas.cdt.core.Compiler.option.warning26" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning27.1705887099" name="Issue Warning if a local var shadows another var(-Wshadow)" superClass="com.renesas.cdt.core.Compiler.option.warning27" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning28.1045672769" name="Issue Warning if a function has no argument types(-Wstrict-prototypes)" superClass="com.renesas.cdt.core.Compiler.option.warning28" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning29.1388878801" name="Issue Warning if a bad g++ synthesiser(-Wsynth)" superClass="com.renesas.cdt.core.Compiler.option.warning29" value="false" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning30.1994659686" name="Issue Warning about c and ansi c construct incompatibility(-Wtraditional)" superClass="com.renesas.cdt.core.Compiler.option.warning30" value="false" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.warning31.531473224" name="Give string constants the type 'const char[length]'(-Wwrite-strings)" superClass="com.renesas.cdt.core.Compiler.option.warning31" value="true" valueType="boolean"/>\r
+                                                               <option id="com.renesas.cdt.core.Compiler.option.CPUSeries.114360178" name="Cpu Series" superClass="com.renesas.cdt.core.Compiler.option.CPUSeries"/>\r
+                                                               <inputType id="%Base.Compiler.C.InputType.Id.321945067" name="C Input" superClass="%Base.Compiler.C.InputType.Id"/>\r
+                                                               <inputType id="Base.Compiler.CPP.InputType.Id.678276075" name="C++ Input" superClass="Base.Compiler.CPP.InputType.Id"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.renesas.cdt.rz.hardwaredebug.win32.tool.assembler.Id.1682023133" name="Assembler" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.assembler.Id">\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.architecture.1247399321" name="Architecture" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.architecture" value="com.renesas.cdt.rz.HardwareDebug.Assembler.option.architecture.armv7r" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.cpuType.924935876" name="CPU type" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.cpuType" value="com.renesas.cdt.rz.HardwareDebug.Assembler.option.cpuType.cortexr4f" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.dataEndian.2127826551" name="Endian" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.dataEndian" value="com.renesas.cdt.rz.HardwareDebug.Assembler.option.dataEndian.little" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.instructionset.500088440" name="Instruction Set" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.instructionset" value="com.renesas.cdt.rz.HardwareDebug.Assembler.option.instructionset.arm" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.targetfpu.590502840" name="Target FPU (-mfpu)" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.targetfpu" value="com.renesas.cdt.rz.HardwareDebug.Assembler.option.targetfpu.vfp" valueType="enumerated"/>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Assembler.option.floatingpointabi.1360575803" name="Floating-point ABI (-mfloat-abi=name)" superClass="com.renesas.cdt.rz.HardwareDebug.Assembler.option.floatingpointabi" value="Hard" valueType="enumerated"/>\r
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.core.Assembler.option.includeFileDirectories.1525014372" name="Include file directories" superClass="com.renesas.cdt.core.Assembler.option.includeFileDirectories" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/System/GCC/asm}&quot;"/>\r
+                                                               </option>\r
+                                                               <inputType id="%Base.Assembler.inputType.Id.174869644" name="Assembler InputType" superClass="%Base.Assembler.inputType.Id"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.renesas.cdt.rz.hardwaredebug.win32.tool.linker.Id.1114307562" name="Linker" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.linker.Id">\r
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveSearchDirectories.1574512948" name="Archive search directories" superClass="com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveSearchDirectories" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${TCINSTALL}/lib/gcc/arm-none-eabi/${GCC_VERSION}/fpu/interwork&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${TCINSTALL}/arm-none-eabi/lib/fpu/interwork&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.renesas.cdt.rz.HardwareDebug.Linker.option.dataEndian.388928982" name="Endian" superClass="com.renesas.cdt.rz.HardwareDebug.Linker.option.dataEndian" value="com.renesas.cdt.rz.HardwareDebug.Linker.option.dataEndian.little" valueType="enumerated"/>\r
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveLibraryFiles.1856032828" name="Archive (library) files" superClass="com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveLibraryFiles" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="m"/>\r
+                                                                       <listOptionValue builtIn="false" value="c"/>\r
+                                                                       <listOptionValue builtIn="false" value="gcc"/>\r
+                                                               </option>\r
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.core.Linker.option.userDefinedOptions.2087395271" name="User defined options" superClass="com.renesas.cdt.core.Linker.option.userDefinedOptions" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="-estart"/>\r
+                                                               </option>\r
+                                                               <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.core.Linker.option.linkOrderList.1339558820" name="" superClass="com.renesas.cdt.core.Linker.option.linkOrderList" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\exit.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\init_main.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\loader_init.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\loader_init2.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\loader_param.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\r_atcm_init.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\r_cpg.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\r_ecm.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\r_icu_init.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\r_mpc.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\r_ram_init.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\r_reset.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\src\vector.o&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;.\libTutorial.a&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.renesas.cdt.core.Linker.option.commandFileOverride.622113609" name="Command file overide" superClass="com.renesas.cdt.core.Linker.option.commandFileOverride" value="com.renesas.cdt.core.Linker.option.commandFileOverride.externalLinkerScript" valueType="enumerated"/>\r
+                                                               <option command=" -T&quot;C:/E/Dev/FreeRTOS/WorkingCopy/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM\HardwareDebug\LinkerSubCommand.tmp&quot; -T" id="com.renesas.cdt.core.Linker.option.file.464254322" name="File" superClass="com.renesas.cdt.core.Linker.option.file" value="&quot;${workspace_loc:/${ProjName}/System/GCC/GNU_LINKER_ATCM.ld}&quot;" valueType="string"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.renesas.cdt.rz.hardwaredebug.win32.tool.objcopy.Id.1674695683" name="Objcopy" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.objcopy.Id"/>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <fileInfo id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302.1852356998" name="IntQueue.c" rcbsApplicability="disable" resourcePath="src/Full_Demo/Standard_Demo_Tasks/IntQueue.c" toolsToInvoke="com.renesas.cdt.rz.hardwaredebug.win32.tool.compiler.Id.542544613.1778364722">\r
+                                               <tool id="com.renesas.cdt.rz.hardwaredebug.win32.tool.compiler.Id.542544613.1778364722" name="Compiler" superClass="com.renesas.cdt.rz.hardwaredebug.win32.tool.compiler.Id.542544613"/>\r
+                                       </fileInfo>\r
+                                       <sourceEntries>\r
+                                               <entry excluding="System/GCC/src/gnu_io.c|System/GCC/src/syscalls.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>\r
+                                       </sourceEntries>\r
+                               </configuration>\r
+                       </storageModule>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+               </cconfiguration>\r
+       </storageModule>\r
+       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+               <project id="Tutorial.com.renesas.cdt.rz.projectType.win32.Id.1958300405" name="Executable (Renesas)" projectType="com.renesas.cdt.rz.projectType.win32.Id"/>\r
+       </storageModule>\r
+       <storageModule moduleId="scannerConfiguration">\r
+               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>\r
+       </storageModule>\r
+       <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>\r
+       <storageModule moduleId="refreshScope"/>\r
+       <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>\r
+</cproject>\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.info b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.info
new file mode 100644 (file)
index 0000000..88f4c78
--- /dev/null
@@ -0,0 +1,7 @@
+TOOL_CHAIN=KPIT GNUARM-NONE-EABI Toolchain
+VERSION=v14.02
+TC_INSTALL=C:\Program Files (x86)\KPIT\GNUARM-NONEv14.02-EABI\arm-none-eabi\arm-none-eabi\
+GCC_STRING=4.9-GNUARM-NONE_v14.02
+VERSION_IDE=
+E2STUDIO_VERSION=4.0.2.008
+ACTIVE_CONFIGURATION=HardwareDebug
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.project b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.project
new file mode 100644 (file)
index 0000000..dd91917
--- /dev/null
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>RTOSDemo</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>com.renesas.cdt.core.genmakebuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\r
+                       <triggers>full,incremental,</triggers>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.cdt.core.cnature</nature>\r
+               <nature>com.renesas.cdt.core.kpitcnature</nature>\r
+               <nature>com.renesas.cdt.core.kpitccnature</nature>\r
+               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\r
+               <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\r
+       </natures>\r
+       <linkedResources>\r
+               <link>\r
+                       <name>src/FreeRTOS_Source</name>\r
+                       <type>2</type>\r
+                       <locationURI>FREERTOS_ROOT/FreeRTOS/Source</locationURI>\r
+               </link>\r
+               <link>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>2</type>\r
+                       <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal</locationURI>\r
+               </link>\r
+               <link>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks/include</name>\r
+                       <type>2</type>\r
+                       <locationURI>FREERTOS_ROOT/FreeRTOS/Demo/Common/include</locationURI>\r
+               </link>\r
+       </linkedResources>\r
+       <filteredResources>\r
+               <filter>\r
+                       <id>1440591358527</id>\r
+                       <name>src/FreeRTOS_Source/portable</name>\r
+                       <type>9</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-MemMang</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1440591358537</id>\r
+                       <name>src/FreeRTOS_Source/portable</name>\r
+                       <type>9</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-GCC</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347018</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-IntQueue.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347028</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-dynamic.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347038</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-BlockQ.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347048</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-blocktim.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347058</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-countsem.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347058</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-GenQTest.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347068</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-recmutex.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347078</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-semtest.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347078</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-flop.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347088</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-TimerDemo.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347098</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-QueueOverwrite.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347098</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-EventGroupsDemo.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347108</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-TaskNotify.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347108</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-IntSemTest.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1441019347118</id>\r
+                       <name>src/Full_Demo/Standard_Demo_Tasks</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-death.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1440591394340</id>\r
+                       <name>src/FreeRTOS_Source/portable/GCC</name>\r
+                       <type>9</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-ARM_CRx_No_GIC</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1440591376868</id>\r
+                       <name>src/FreeRTOS_Source/portable/MemMang</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-heap_4.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+       </filteredResources>\r
+       <variableList>\r
+               <variable>\r
+                       <name>FREERTOS_ROOT</name>\r
+                       <value>$%7BPARENT-3-PROJECT_LOC%7D</value>\r
+               </variable>\r
+       </variableList>\r
+</projectDescription>\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.settings/Dependency_Scan_Preferences.prefs b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.settings/Dependency_Scan_Preferences.prefs
new file mode 100644 (file)
index 0000000..c52c797
--- /dev/null
@@ -0,0 +1,4 @@
+Build\ project\ excluding\ the\ dependencies=false\r
+Re-generate\ and\ use\ dependencies\ during\ project\ build=true\r
+Use\ existing\ dependencies\ during\ project\ build=false\r
+eclipse.preferences.version=1\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.settings/Project_Generation_Prefrences.prefs b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.settings/Project_Generation_Prefrences.prefs
new file mode 100644 (file)
index 0000000..b6b9d5c
--- /dev/null
@@ -0,0 +1,36 @@
+com.renesas.cdt.core.Assembler.option.includeFileDirectories="${workspace_loc\:/${ProjName}}/src";\r
+com.renesas.cdt.core.LibraryGenerator.option.ctype=false\r
+com.renesas.cdt.core.LibraryGenerator.option.libraryType=Project-Built\r
+com.renesas.cdt.core.LibraryGenerator.option.math=false\r
+com.renesas.cdt.core.LibraryGenerator.option.selectLibrary=Optimized\r
+com.renesas.cdt.core.LibraryGenerator.option.stdio=true\r
+com.renesas.cdt.core.LibraryGenerator.option.stdlib=true\r
+com.renesas.cdt.core.LibraryGenerator.option.string=true\r
+com.renesas.cdt.core.Linker.option.userDefinedOptions=;\r
+com.renesas.cdt.rz.HardwareDebug.Assembler.option.architecture=armv7-r\r
+com.renesas.cdt.rz.HardwareDebug.Assembler.option.cpuType=cortex-r4f\r
+com.renesas.cdt.rz.HardwareDebug.Compiler.option.architecture=armv7-r\r
+com.renesas.cdt.rz.HardwareDebug.Compiler.option.cpuType=cortex-r4f\r
+com.renesas.cdt.rz.HardwareDebug.Compiler.option.cpuType.585789719=cortex-r4f\r
+com.renesas.cdt.rz.HardwareDebug.Compiler.option.dataEndian=Little-endian\r
+com.renesas.cdt.rz.HardwareDebug.Compiler.option.floatingpointabi=Soft\r
+com.renesas.cdt.rz.HardwareDebug.Compiler.option.instructionset=ARM\r
+com.renesas.cdt.rz.HardwareDebug.Compiler.option.interworking=true\r
+com.renesas.cdt.rz.HardwareDebug.Compiler.option.macroDefines=\r
+com.renesas.cdt.rz.HardwareDebug.Compiler.option.targetfpu=vfp\r
+com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveLibraryFiles=${BuildArtifactFileBaseName};gcc;\r
+com.renesas.cdt.rz.HardwareDebug.Linker.option.archiveSearchDirectories.1574512948="${TCINSTALL}/lib/gcc/arm-none-eabi/${GCC_VERSION}/fpu/interwork";"${TCINSTALL}/arm-none-eabi/lib/fpu/interwork";\r
+com.renesas.cdt.rz.Release.Assembler.option.architecture=armv7-r\r
+com.renesas.cdt.rz.Release.Assembler.option.cpuType=cortex-r4f\r
+com.renesas.cdt.rz.Release.Compiler.option.architecture=armv7-r\r
+com.renesas.cdt.rz.Release.Compiler.option.cpuType=cortex-r4f\r
+com.renesas.cdt.rz.Release.Compiler.option.cpuType.963183599=cortex-r4f\r
+com.renesas.cdt.rz.Release.Compiler.option.dataEndian=Little-endian\r
+com.renesas.cdt.rz.Release.Compiler.option.floatingpointabi=Soft\r
+com.renesas.cdt.rz.Release.Compiler.option.instructionset=ARM\r
+com.renesas.cdt.rz.Release.Compiler.option.interworking=true\r
+com.renesas.cdt.rz.Release.Compiler.option.macroDefines=\r
+com.renesas.cdt.rz.Release.Compiler.option.targetfpu=vfp\r
+com.renesas.cdt.rz.Release.Linker.option.archiveLibraryFiles=${BuildArtifactFileBaseName};gcc;\r
+com.renesas.cdt.rz.Release.Linker.option.archiveSearchDirectories.966751407="${TCINSTALL}/lib/gcc/arm-none-eabi/${GCC_VERSION}/interwork";"${TCINSTALL}/arm-none-eabi/lib/interwork";\r
+eclipse.preferences.version=1\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.settings/language.settings.xml b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/.settings/language.settings.xml
new file mode 100644 (file)
index 0000000..87a9bd8
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<project>\r
+       <configuration id="com.renesas.cdt.rz.hardwaredebug.win32.configuration.Id.137003302" name="HardwareDebug">\r
+               <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">\r
+                       <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>\r
+                       <provider class="com.renesas.cdt.common.build.spec.RZGCCBuiltinSpecsDetector" console="false" env-hash="-432948836777516605" id="RZGCCBuiltinSpecsDetector" keep-relative-paths="false" name="Renesas GNUARM-NONE GCCBuildinCompilerSettings" options-hash="857384749" parameter="arm-none-eabi-gcc -E -P -v -dD ${INPUTS}" prefer-non-shared="true">\r
+                               <language-scope id="org.eclipse.cdt.core.gcc"/>\r
+                               <language-scope id="org.eclipse.cdt.core.g++"/>\r
+                       </provider>\r
+                       <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>\r
+               </extension>\r
+       </configuration>\r
+</project>\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/RTOSDemo HardwareDebug.jlink b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/RTOSDemo HardwareDebug.jlink
new file mode 100644 (file)
index 0000000..1ca0b40
--- /dev/null
@@ -0,0 +1,35 @@
+[BREAKPOINTS]\r
+ForceImpTypeAny = 0\r
+ShowInfoWin = 1\r
+EnableFlashBP = 2\r
+BPDuringExecution = 0\r
+[CFI]\r
+CFISize = 0x00\r
+CFIAddr = 0x00\r
+[CPU]\r
+OverrideMemMap = 0\r
+AllowSimulation = 1\r
+ScriptFile=""\r
+[FLASH]\r
+CacheExcludeSize = 0x00\r
+CacheExcludeAddr = 0x00\r
+MinNumBytesFlashDL = 0\r
+SkipProgOnCRCMatch = 1\r
+VerifyDownload = 1\r
+AllowCaching = 1\r
+EnableFlashDL = 2\r
+Override = 0\r
+Device="UNSPECIFIED"\r
+[GENERAL]\r
+WorkRAMSize = 0x00\r
+WorkRAMAddr = 0x00\r
+RAMUsageLimit = 0x00\r
+[SWO]\r
+SWOLogFile=""\r
+[MEM]\r
+RdOverrideOrMask = 0x00\r
+RdOverrideAndMask = 0xFFFFFFFF\r
+RdOverrideAddr = 0xFFFFFFFF\r
+WrOverrideOrMask = 0x00\r
+WrOverrideAndMask = 0xFFFFFFFF\r
+WrOverrideAddr = 0xFFFFFFFF\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/GNU_LINKER_ATCM.ld b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/GNU_LINKER_ATCM.ld
new file mode 100644 (file)
index 0000000..1ec9c36
--- /dev/null
@@ -0,0 +1,215 @@
+/****************************************************************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+****************************************************************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* File Name     : GNU_LINKER_ATCM.ld\r
+* Device(s)     : RZ/T1 (R7S910018)\r
+* Tool-Chain    : GNUARM-NONEv14.02-EABI\r
+* H/W Platform  : RSK+RZT1 CPU Board\r
+* Description   : Linker file for projects that require to load and run from RAM (ATCM)\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History       : DD.MM.YYYY Version Description\r
+*               : 21.05.2015 1.00\r
+***********************************************************************************************************************/\r
+OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")\r
+OUTPUT_ARCH(arm)\r
+ENTRY(start)\r
+\r
+/* Base Address RAM Memory Table 1 Mbyte on-chip RAM */\r
+MEMORY\r
+{\r
+       /* Internal RAM address range H'2000_0000 to H'2001_FFFF is configured as data retention RAM */\r
+       /* Write access to this address range has to be enabled by writing to registers SYSCR1 and SYSCR2 */\r
+       ATCM       (rwx)   : ORIGIN = 0x00000000, LENGTH = 0x00080000  /* (512KB)  H'00000000 to H'0007FFFF */\r
+       BTCM       (rwx)   : ORIGIN = 0x00800000, LENGTH = 0x00800000  /* (32KB)   H'00800000 to H'00807FFF */\r
+       BUFFER_RAM (rwx)   : ORIGIN = 0x20200000, LENGTH = 0x00100000  /* (1024KB) H'08000000 to H'0FFFFFFF */\r
+       DATA_RAM0  (rwx)   : ORIGIN = 0x24000000, LENGTH = 0x00080000  /* (512KB)  H'22000000 to H'2207FFFF */\r
+       DATA_RAM1  (rwx)   : ORIGIN = 0x22000000, LENGTH = 0x00080000  /* (512KB)  H'24000000 to H'2407FFFF */\r
+\r
+       SPIBSC (rw)    : ORIGIN = 0x30000000, LENGTH = 0x04000000  /* attached to H'30000000 to H'33FFFFFF */\r
+       CS0    (rw)    : ORIGIN = 0x40000000, LENGTH = 0x04000000  /* attached to H'40000000 to H'43FFFFFF */\r
+       CS1    (rw)    : ORIGIN = 0x44000000, LENGTH = 0x04000000  /* attached to H'44000000 to H'47FFFFFF */\r
+       CS2    (rw)    : ORIGIN = 0x48000000, LENGTH = 0x04000000  /* attached to H'40000000 to H'4CFFFFFF */\r
+       CS3    (rw)    : ORIGIN = 0x4C000000, LENGTH = 0x04000000  /* attached to H'4C000000 to H'4FFFFFFF */\r
+       CS4    (rw)    : ORIGIN = 0x50000000, LENGTH = 0x04000000  /* attached to H'50000000 to H'53FFFFFF */\r
+       CS5    (rw)    : ORIGIN = 0x54000000, LENGTH = 0x04000000  /* attached to H'54000000 to H'57FFFFFF */\r
+\r
+       /* Mapped memory type */\r
+       SPI_ROM    (rw)    : ORIGIN = 0x30000000, LENGTH = 0x04000000\r
+       CS0_ROM    (rw)    : ORIGIN = 0x40000000, LENGTH = 0x04000000\r
+       CS1_ROM    (rw)    : ORIGIN = 0x44000000, LENGTH = 0x04000000\r
+       SDRAM0_EXT (rw)    : ORIGIN = 0x48000000, LENGTH = 0x04000000\r
+       SDRAM1_EXT (rw)    : ORIGIN = 0x4C000000, LENGTH = 0x04000000\r
+}\r
+\r
+SYS_STACK_SIZE        = 0x200;             /* Application stack size            */\r
+SVC_STACK_SIZE       = 0x200;      /* SVC mode stack                    */\r
+IRQ_STACK_SIZE       = 0x200;      /* IRQ mode stack                    */\r
+FIQ_STACK_SIZE       = 0x200;      /* FRQ mode stack                    */\r
+UND_STACK_SIZE       = 0x200;      /* SVC mode stack                    */\r
+ABT_STACK_SIZE       = 0x200;      /* ABT mode stack                    */\r
+HEAP_STACK_SIZE       = 0x1000;        /* Heap stack size                   */\r
+\r
+ATCM_BASE             = 0x00000000;  /* User application located here          */\r
+BTCM_BASE             = 0x00800000;  /* BTCM base address                      */\r
+\r
+USER_EXEC_BASE        = 0x00000000;  /* Application loads and runs from here   */\r
+\r
+USER_RAM              = 0x20000000;     /* Application's RAM base                 */\r
+\r
+STACK_BASE            = 0x00807800;  /* Stacks located in BTCM                 */\r
+\r
+SDRAM0_BASE           = 0x48000000;  /* SDRAM1 is attached to CS2 space        */\r
+SDRAM1_BASE           = 0x4C000000;  /* SDRAM1 is attached to CS3 space        */\r
+\r
+SECTIONS\r
+{\r
+       .reset USER_EXEC_BASE :\r
+       {\r
+               reset_start = .;\r
+           execute = .;\r
+               _intvec_start = .;\r
+           *start.o (.text);\r
+               .       = ALIGN(0x4);\r
+               _intvec_end = .;\r
+               end_reset = .;\r
+       } > ATCM\r
+\r
+       .text :\r
+       {\r
+               text_start = .;\r
+               *(.text)\r
+               *(.text.startup)\r
+               text_end = .;\r
+       } > ATCM\r
+\r
+       .rodata :\r
+       {\r
+               _rodata_start = .;\r
+               *(.rodata)\r
+               *(.rodata.*)\r
+               .       = ALIGN(0x8);\r
+               _start_data_ROM = .;\r
+           *(.data)\r
+               *(.data.*)\r
+               _end_data_ROM = .;\r
+               *(.got.plt)\r
+               *(.got)\r
+               .       = ALIGN(0x8);\r
+               _rodata_end = .;\r
+        PROVIDE(end = .);\r
+       } > ATCM\r
+\r
+    _ram_data_size = (_end_data_ROM - _start_data_ROM);\r
+\r
+       .data USER_RAM :\r
+       {\r
+               _data_start = .;\r
+               _start_data_RAM = .;\r
+               . += _ram_data_size;\r
+               _data_end = .;\r
+       }\r
+\r
+       .bss _data_end :\r
+       {\r
+         _bss = .;\r
+         PROVIDE(__bss_start__ = .);\r
+         *(.bss)\r
+         *(.bss.**)\r
+         *(COMMON)\r
+         . = ALIGN(0x4);\r
+         PROVIDE(__bss_end__ = .);\r
+         _ebss = .;\r
+         _end = .;\r
+         PROVIDE(end = .);\r
+       }\r
+\r
+       .heap :\r
+       {\r
+           heap_start = .;\r
+               .       = ALIGN(0x8);\r
+               *(.heap_stack)\r
+               . += HEAP_STACK_SIZE;\r
+               heap_end = .;\r
+       } > ATCM\r
+\r
+       .sys_stack STACK_BASE :\r
+       {\r
+           sys_stack_start = .;\r
+               .       = ALIGN(0x8);\r
+               *(.sys_stack)\r
+               . += SYS_STACK_SIZE;\r
+           sys_stack_end = .;\r
+       } > BTCM\r
+\r
+       .svc_stack sys_stack_end :\r
+       {\r
+           svc_stack_start = .;\r
+               .       = ALIGN(0x8);\r
+               *(.svc_stack)\r
+               . += SVC_STACK_SIZE;\r
+           svc_stack_end = .;\r
+       } > BTCM\r
+\r
+       .irq_stack svc_stack_end :\r
+       {\r
+           irq_stack_start = .;\r
+               .       = ALIGN(0x8);\r
+               *(.irq_stack)\r
+               . += IRQ_STACK_SIZE;\r
+           irq_stack_end = .;\r
+       } > BTCM\r
+\r
+       .fiq_stack irq_stack_end :\r
+       {\r
+           fiq_stack_start = .;\r
+               .       = ALIGN(0x8);\r
+               *(.fiq_stack)\r
+               . += FIQ_STACK_SIZE;\r
+           fiq_stack_end = .;\r
+       } > BTCM\r
+\r
+       .und_stack fiq_stack_end :\r
+       {\r
+           und_stack_start = .;\r
+               .       = ALIGN(0x8);\r
+               *(.und_stack)\r
+               . += UND_STACK_SIZE;\r
+               und_stack_end = .;\r
+       } > BTCM\r
+\r
+       .abt_stack und_stack_end :\r
+       {\r
+           abt_stack_start = .;\r
+               .       = ALIGN(0x8);\r
+               *(.abt_stack)\r
+               . += ABT_STACK_SIZE;\r
+               abt_stack_end = .;\r
+       } > BTCM\r
+\r
+       /* NOLOAD directs linker NOT to fill VRAMx_SECTION with 0.          */\r
+       /* Usage of NOLOAD increases speed of linker and download to target */\r
+       .sdram0_section SDRAM0_BASE (NOLOAD) : {} > SDRAM0_EXT\r
+       .sdram1_section SDRAM1_BASE (NOLOAD) : {} > SDRAM1_EXT\r
+}
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/asm/loader_init.asm b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/asm/loader_init.asm
new file mode 100644 (file)
index 0000000..3d1265b
--- /dev/null
@@ -0,0 +1,351 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 Init program\r
+* File Name    : loader_init.asm\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : Loader program 1\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1\r
+* Description  : System low level configuration.\r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History       : DD.MM.YYYY Version Description\r
+*               : 21.04.2015 1.00    First Release\r
+***********************************************************************************************************************/\r
+\r
+       .text\r
+       .code 32\r
+\r
+    .global reset_handler\r
+    .global loader_init1\r
+    .global set_low_vec\r
+    .global cache_init\r
+    .global mpu_init\r
+    .global loader_init2\r
+    .global r_icu_nmi_interrupt\r
+\r
\r
+ reset_handler:\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : loader_init1\r
+* Description   : Initialize system by loader program\r
+* Arguments     : none\r
+* Return Value  : none\r
+***********************************************************************************************************************/\r
+loader_init1:\r
\r
+/* ========================================================================= */\r
+/* Multi-core startup (future proofing boot code)                            */\r
+/* Check core, if not core 0  put to sleep.                                  */\r
+/* ========================================================================= */\r
+        mrc     p15, 0, r0, c0, c0, 5    /* Read MPIDR */\r
+        ands    r0, r0, #3\r
+goToSleep:\r
+        wfine\r
+        bne     goToSleep\r
+\r
+    mrs r0, cpsr                /* Disalbe FIQ and IRQ */\r
+    orr r0, r0, #0x000000C0\r
+    msr cpsr, r0\r
+    isb\r
\r
+stack_init:\r
+    /* Stack setting */\r
+    cps  #17  /* FIQ mode */\r
+    ldr  sp, =fiq_stack_end\r
+    cps  #18  /* IRQ mode */\r
+    ldr  sp, =irq_stack_end\r
+    cps  #23  /* Abort mode */\r
+    ldr  sp, =abt_stack_end\r
+    cps  #27  /* Undef mode */\r
+    ldr  sp, =und_stack_end\r
+    cps  #31  /* System mode */\r
+    ldr  sp, =sys_stack_end\r
+    cps  #19  /* SVC mode */\r
+    ldr  sp, =svc_stack_end\r
+\r
+vfp_init:\r
+    /* Initialize VFP setting */\r
+    mrc  p15, #0, r0, c1, c0, #2  /* Enables cp10 and cp11 accessing */\r
+    orr  r0, r0, #0xF00000\r
+    mcr  p15, #0, r0, c1, c0, #2\r
+    isb                           /* Ensuring Context-changing */\r
+\r
+    mov  r0, #0x40000000          /* Enables VFP operation */\r
+    vmsr  fpexc, r0\r
+\r
+    mrc  p15, 0, r0, c1, c0, 0  /* Set SCTLR.VE bit to 1 (Use VIC) */\r
+    orr  r0, r0, #0x01000000\r
+    mcr  p15, 0, r0, c1, c0, 0\r
+    isb                         /* Ensuring Context-changing */\r
+\r
+    mrc  p15, 0, r0, c1, c0, 1  /* Enalbe ECC */\r
+    orr  r0, r0, #0x06000000\r
+    mcr  p15, 0, r0, c1, c0, 1\r
+    isb                         /* Ensuring Context-changing */\r
+\r
+    mrs r0, cpsr                /* Re-enalbe FIQ */\r
+    and r0, r0, #0xFFFFFFBF\r
+    msr cpsr, r0\r
+    isb\r
+\r
+    /* Jump to loader_init2 */\r
+jump_loader_init2:\r
+    ldr  r0, =loader_init2\r
+    bx  r0\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : cache_init\r
+* Description   : Initialize I1, D1 cache and MPU settings\r
+* Arguments     : none\r
+* Return Value  : none\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Macro definitions\r
+***********************************************************************************************************************/\r
+\r
+.equ   SCTLR_BR,        0x00020000\r
+.equ   SCTLR_M,         0x00000001\r
+.equ   SCTLR_I_C,       0x00001004\r
\r
+.equ   DRBAR_REGION_0,  0x04000000  /*Base address = 0400_0000h */\r
+.equ   DRACR_REGION_0,  0x0000030C  /*R/W(full), Normal, Non-cache, share */\r
+.equ   DRSR_REGION_0,   0x00000025  /*Size 512KB, MPU enable */\r
+\r
+.equ   DRBAR_REGION_1,  0x10000000  /*Base address = 1000_0000h */\r
+.equ   DRACR_REGION_1,  0x0000030C  /*R/W(full), Normal, Non-cache, share */\r
+.equ   DRSR_REGION_1,   0x00000033  /*Size 64MB, MPU enable */\r
+\r
+.equ   DRBAR_REGION_2,  0x20000000  /*Base address = 2000_0000h */\r
+.equ   DRACR_REGION_2,  0x0000030C  /*R/W(full), Normal, Non-cache, share */\r
+.equ   DRSR_REGION_2,   0x00000025  /*Size 512KB, MPU enable */\r
+\r
+.equ   DRBAR_REGION_3,  0x22000000  /*Base address = 2200_0000h */\r
+.equ   DRACR_REGION_3,  0x00000307  /*R/W(full), Normal, Write-back no allocate, share */\r
+.equ   DRSR_REGION_3,   0x00000033  /*Size 64MB, MPU enable */\r
+\r
+.equ   DRBAR_REGION_4,  0x30000000  /*Base address = 3000_0000h */\r
+.equ   DRACR_REGION_4,  0x00000307  /*R/W(full), Normal, Write-back no allocate, share */\r
+.equ   DRSR_REGION_4,   0x00000033  /*Size 64MB, MPU enable */\r
+\r
+.equ   DRBAR_REGION_5,  0x40000000  /*Base address = 4000_0000h */\r
+.equ   DRACR_REGION_5,  0x00000307  /*R/W(full), Normal, Write-back no allocate, share */\r
+.equ   DRSR_REGION_5,   0x00000035  /*Size 128MB, MPU enable */\r
\r
+.equ   DRBAR_REGION_6,  0x48000000  /*Base address = 4800_0000h */\r
+.equ   DRACR_REGION_6,  0x00000307  /*R/W(full), Normal, Write-back no allocate, share */\r
+.equ   DRSR_REGION_6,   0x00000035  /*Size 128MB, MPU enable */\r
+\r
+.equ   DRBAR_REGION_7,  0x50000000  /*Base address = 5000_0000h */\r
+.equ   DRACR_REGION_7,  0x00001305  /*R/W(full), XN, Device, share */\r
+.equ   DRSR_REGION_7,   0x00000035  /*Size 128MB, MPU enable */\r
+\r
+.equ   DRBAR_REGION_8,  0x60000000  /*Base address = 6000_0000h */\r
+.equ   DRACR_REGION_8,  0x0000030C  /*R/W(full), Normal, Non-cache, share */\r
+.equ   DRSR_REGION_8,   0x00000035  /*Size 128MB, MPU enable */\r
+\r
+.equ   DRBAR_REGION_9,  0x68000000  /*Base address = 6800_0000h */\r
+.equ   DRACR_REGION_9,  0x0000030C  /*R/W(full), Normal, Non-cache, share */\r
+.equ   DRSR_REGION_9,   0x00000035  /*Size 128MB, MPU enable */\r
\r
+.equ   DRBAR_REGION_10,  0x70000000 /*Base address = 7000_0000h */\r
+.equ   DRACR_REGION_10,  0x00001305 /*R/W(full), XN, Device, share */\r
+.equ   DRSR_REGION_10,   0x00000035 /*Size 128MB, MPU enable */\r
+\r
+.equ   DRBAR_REGION_11,  0x80000000 /*Base address = 8000_0000h */\r
+.equ   DRACR_REGION_11,  0x00001305 /*R/W(full), XN, Device, share */\r
+.equ   DRSR_REGION_11,   0x0000003D /*Size 2GB, MPU enable */\r
+\r
+cache_init:\r
+    push  {lr}\r
+\r
+cache_invalidate:\r
+    /*Invalidate the I1, D1 cache */\r
+    mov  r0, #0\r
+    mcr  p15, #0, r0, c7, c5, #0   /*Invalidate all Instruction Caches (Write-value is Ignored) */\r
+    isb                            /*Ensuring Context-changing */\r
+    mcr  p15, #0, r0, c15, c5, #0  /*Invalidate all Data Caches (Write-value is Ignored) */\r
+    isb                            /*Ensuring Context-changing */\r
+  \r
+    /*Adopt default memory map as background map. */\r
+    ldr  r0, =SCTLR_BR           /*Set SCTLR.BR bit to 1 */\r
+    mrc  p15, 0, r1, c1, c0, 0  \r
+    orr  r1, r1, r0\r
+    dsb\r
+    mcr  p15, 0, r1, c1, c0, 0  \r
+    isb                         /*Ensuring Context-changing */\r
+    \r
+    /*Initialize MPU settings (region 0 to 11) */\r
+    /*Define region 0 */\r
+    mov  r0,  #0\r
+    ldr  r1, =DRBAR_REGION_0\r
+    ldr  r2, =DRACR_REGION_0\r
+    ldr  r3, =DRSR_REGION_0\r
+    bl  mpu_init\r
+\r
+    /*Define region 1 */\r
+    mov  r0,  #1\r
+    ldr  r1, =DRBAR_REGION_1\r
+    ldr  r2, =DRACR_REGION_1\r
+    ldr  r3, =DRSR_REGION_1\r
+    bl  mpu_init\r
+\r
+    /*Define region 2 */\r
+    mov  r0,  #2\r
+    ldr  r1, =DRBAR_REGION_2\r
+    ldr  r2, =DRACR_REGION_2\r
+    ldr  r3, =DRSR_REGION_2\r
+    bl  mpu_init\r
+\r
+    /*Define region 3 */\r
+    mov  r0,  #3\r
+    ldr  r1, =DRBAR_REGION_3\r
+    ldr  r2, =DRACR_REGION_3\r
+    ldr  r3, =DRSR_REGION_3\r
+    bl  mpu_init\r
+\r
+    /*Define region 4 */\r
+    mov  r0,  #4\r
+    ldr  r1, =DRBAR_REGION_4\r
+    ldr  r2, =DRACR_REGION_4\r
+    ldr  r3, =DRSR_REGION_4\r
+    bl  mpu_init\r
+\r
+    /*Define region 5 */\r
+    mov  r0,  #5\r
+    ldr  r1, =DRBAR_REGION_5\r
+    ldr  r2, =DRACR_REGION_5\r
+    ldr  r3, =DRSR_REGION_5\r
+    bl  mpu_init\r
+\r
+    /*Define region 6 */\r
+    mov  r0,  #6\r
+    ldr  r1, =DRBAR_REGION_6\r
+    ldr  r2, =DRACR_REGION_6\r
+    ldr  r3, =DRSR_REGION_6\r
+    bl  mpu_init\r
+\r
+    /*Define region 7 */\r
+    mov  r0,  #7\r
+    ldr  r1, =DRBAR_REGION_7\r
+    ldr  r2, =DRACR_REGION_7\r
+    ldr  r3, =DRSR_REGION_7\r
+    bl  mpu_init\r
+\r
+    /*Define region 8 */\r
+    mov  r0,  #8\r
+    ldr  r1, =DRBAR_REGION_8\r
+    ldr  r2, =DRACR_REGION_8\r
+    ldr  r3, =DRSR_REGION_8\r
+    bl  mpu_init\r
+\r
+    /*Define region 9\r
+    mov  r0,  #9 */\r
+    ldr  r1, =DRBAR_REGION_9\r
+    ldr  r2, =DRACR_REGION_9\r
+    ldr  r3, =DRSR_REGION_9\r
+    bl  mpu_init\r
+\r
+    /*Define region 10 */\r
+    mov  r0,  #10\r
+    ldr  r1, =DRBAR_REGION_10\r
+    ldr  r2, =DRACR_REGION_10\r
+    ldr  r3, =DRSR_REGION_10\r
+    bl  mpu_init\r
+\r
+    /*Define region 11 */\r
+    mov  r0,  #11\r
+    ldr  r1, =DRBAR_REGION_11\r
+    ldr  r2, =DRACR_REGION_11\r
+    ldr  r3, =DRSR_REGION_11\r
+    bl  mpu_init\r
+    \r
+    /*Enables MPU operation */\r
+    ldr  r0, =SCTLR_M            /*Set SCTLR.M bit to 1 */\r
+    mrc  p15, 0, r1, c1, c0, 0  \r
+    orr  r1, r1, r0\r
+    dsb\r
+    mcr  p15, 0, r1, c1, c0, 0  \r
+    isb                         /*Ensuring Context-changing */\r
+    \r
+    /*Enables I1,D1 cache operation */\r
+    ldr  r0, =SCTLR_I_C          /*Set SCTLR.I and C bit to 1 */\r
+    mrc  p15, 0, r1, c1, c0, 0  \r
+    orr  r1, r1, r0\r
+    dsb\r
+    mcr  p15, 0, r1, c1, c0, 0  \r
+    isb                         /*Ensuring Context-changing */\r
+\r
+    pop  {pc}\r
+    bx  lr\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : mpu_init\r
+* Description   : Initialize MPU settings\r
+* Arguments     : none\r
+* Return Value  : none\r
+***********************************************************************************************************************/\r
+mpu_init:\r
+    /*RGNR(MPU Memory Region Number Register) */\r
+    mcr p15, #0, r0, c6, c2, #0\r
+    isb                             /*Ensuring Context-changing */\r
+    \r
+    /*DRBAR(Data Region Base Address Register) */\r
+    mcr  p15, #0, r1, c6, c1, #0\r
+    isb                             /*Ensuring Context-changing */\r
+\r
+    /*DRACR(Data Region Access Control Register) */\r
+    mcr p15, #0, r2, c6, c1, #4\r
+    isb                             /*Ensuring Context-changing */\r
+\r
+    /*DRSR(Data Region Size and Enable Register) */\r
+    mcr p15, #0, r3, c6, c1, #2\r
+    isb                             /*Ensuring Context-changing */\r
+    \r
+    bx      lr\r
+\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : set_low_vec\r
+* Description   : Initialize sysytem by loader program\r
+* Arguments     : none\r
+* Return Value  : none\r
+***********************************************************************************************************************/\r
+set_low_vec:\r
+    mrc  p15, 0, r0, c1, c0, 0  /*Set SCTLR.V bit to 1 (low-vector)*/\r
+    and  r0, r0, #0xFFFFDFFF\r
+    mcr  p15, 0, r0, c1, c0, 0\r
+    isb                         /*Ensuring Context-changing*/\r
+    \r
+    bx  lr  \r
+\r
+    .end\r
+\r
+/*End of File */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/asm/start.asm b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/asm/start.asm
new file mode 100644 (file)
index 0000000..6bbbc9a
--- /dev/null
@@ -0,0 +1,70 @@
+/************************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+************************************************************************************************************************/\r
+/************************************************************************************************************************\r
+* File Name     : start.asm\r
+* Device(s)     : RZ/T1 (R7S910018)\r
+* Tool-Chain    : GNUARM-NONEv14.02-EABI\r
+* H/W Platform  : RSK+T1 CPU Board\r
+* Description   : This is the code to be executed on the target\r
+                  The copyright string signifies the end of the Vector table\r
+*                 Note boot strap sequence is as follows:\r
+*\r
+*                 start->reset_handler->main()\r
+*\r
+*                 start - first code to be executed on the target\r
+                  start jumps to reset_handler the asm startup routine\r
+*                 reset_handler jumps to loader_init1() C entry point\r
+*                 loader_init2() calls main() C User code entry point\r
+************************************************************************************************************************/\r
+/************************************************************************************************************************\r
+* History       : DD.MM.YYYY Version Description\r
+*               : 21.05.2015 1.00\r
+************************************************************************************************************************/\r
+\r
+    .text\r
+    .code 32\r
+\r
+       .extern FreeRTOS_SVC_Handler\r
+    .global start\r
+    .func   start\r
+\r
+start:\r
+    LDR pc, =reset_handler                  /* Reset Vector                                  */\r
+    LDR pc, =undefined_handler\r
+    LDR pc, =FreeRTOS_SVC_Handler\r
+    LDR pc, =prefetch_handler\r
+    LDR pc, =abort_handler\r
+    LDR pc, =reserved_handler\r
+    LDR pc, =irq_handler\r
+    LDR pc, =fiq_handler\r
+code_start:\r
+    .word    start                         /* pointer to the user application start address */\r
+                                           /* Used by NOR and SPI (System_Boot_Loader_xxxx)  */\r
+code_end:\r
+    .word    end\r
+code_execute:\r
+    .word    execute                       /* execute address of first instruction          */\r
+    .string ".BootLoad_ValidProgramTest."  /* bootloader validation signature               */\r
+    .align 4\r
+    .end\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/asm/vector.asm b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/asm/vector.asm
new file mode 100644 (file)
index 0000000..3d80adf
--- /dev/null
@@ -0,0 +1,77 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+ System Name  : RZ/T1 Init program\r
+ File Name    : vector.asm\r
+ Version      : 0.1\r
+ Device       : R7S910018\r
+ Abstract     : vector address (in low vector)\r
+ Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+ OS           : not use\r
+ H/W Platform : Renesas Starter Kit for RZ/T1\r
+ Description  : vector address for RZ/T1 (in low vector)\r
+ Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+/* This program is allocated to section "intvec" */ \r
+\r
+    .text\r
+    .code 32\r
+\r
+    .global undefined_handler\r
+    .global FreeRTOS_SVC_Handler\r
+    .global prefetch_handler\r
+    .global abort_handler\r
+    .global reserved_handler\r
+    .global irq_handler\r
+    .global fiq_handler\r
+    \r
+\r
+undefined_handler:\r
+    b  undefined_handler\r
+\r
+svc_handler:\r
+    b  svc_handler\r
+\r
+prefetch_handler:\r
+    b  prefetch_handler\r
+\r
+abort_handler:\r
+    b  abort_handler\r
+\r
+reserved_handler:\r
+    b  reserved_handler\r
+\r
+irq_handler:\r
+    b  irq_handler\r
+\r
+fiq_handler:\r
+    b  fiq_handler\r
+\r
+    .end\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/inc/compiler_settings.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/inc/compiler_settings.h
new file mode 100644 (file)
index 0000000..b2e1969
--- /dev/null
@@ -0,0 +1,65 @@
+/*******************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+************************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* File Name     : compiler_settings.h\r
+* Device(s)     : RZ/A1H (R7S910018)\r
+* Tool-Chain    : GNUARM-NONEv14.02-EABI\r
+* H/W Platform  : RSK+T1 CPU Board\r
+* Description   : Any compiler specific settings are stored here.\r
+*               : Variants of this file must be created for each compiler\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History       : DD.MM.YYYY Version Description\r
+*               : 21.05.2015 1.00\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Includes   <System Includes> , "Project Includes"\r
+***********************************************************************************************************************/\r
+/* Compiler specific UART i/O support header */\r
+#include "../../GCC/inc/gnu_io.h"\r
+\r
+#ifndef COMPILER_SETTINGS_H\r
+#define COMPILER_SETTINGS_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+/* Definitions of SDRAM sections from the linker */\r
+#define BSS_SDRAM0_SECTION __attribute__ ((section (".sdram0_section")))\r
+#define BSS_SDRAM1_SECTION __attribute__ ((section (".sdram1_section")))\r
+\r
+/***********************************************************************************************************************\r
+Variable External definitions and Function External definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Functions Prototypes\r
+***********************************************************************************************************************/\r
+\r
+/* COMPILER_SETTINGS_H */\r
+#endif  \r
+\r
+/* End of File */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/inc/gnu_io.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/inc/gnu_io.h
new file mode 100644 (file)
index 0000000..9a5be86
--- /dev/null
@@ -0,0 +1,68 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/******************************************************************************\r
+* File Name     : gnu_io.h\r
+* Device(s)     : RZ/A1H (R7S910018)\r
+* Tool-Chain    : GNUARM-NONEv14.02-EABI\r
+* H/W Platform  : RSK+T1 CPU Board\r
+* Description   : GCC support for serial I/O header file\r
+******************************************************************************/\r
+/******************************************************************************\r
+* History       : DD.MM.YYYY Version Description\r
+*               : 21.05.2015 1.00\r
+******************************************************************************/\r
+\r
+#ifndef GNU_IO_H\r
+#define GNU_IO_H\r
+\r
+/******************************************************************************\r
+Includes   <System Includes> , "Project Includes"\r
+******************************************************************************/\r
+\r
+/******************************************************************************\r
+Typedef definitions\r
+******************************************************************************/\r
+\r
+/******************************************************************************\r
+Macro definitions\r
+******************************************************************************/\r
+\r
+/******************************************************************************\r
+Variable Externs\r
+******************************************************************************/\r
+\r
+/******************************************************************************\r
+Functions Prototypes\r
+******************************************************************************/\r
+\r
+extern void put_string(char *pString);\r
+extern void get_string(char *pString);\r
+\r
+\r
+#endif /* GNU_IO_H */\r
+\r
+/* End of File */\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/src/gnu_io.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/src/gnu_io.c
new file mode 100644 (file)
index 0000000..3d46282
--- /dev/null
@@ -0,0 +1,104 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+****************************************************************************************************************************************************************/\r
+/****************************************************************************************************************************************************************\r
+* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved.\r
+****************************************************************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* File Name     : gnu_io.c\r
+* Device(s)     : RZ/A1H RSK+T1\r
+* Tool-Chain    : GNUARM-NONEv14.02-EABI\r
+* H/W Platform  : RSK+T1 CPU Board\r
+* Description   : Sample Program - GCC support for serial I/O\r
+*               : Variants of this file can be created for each compiler\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History       : DD.MM.YYYY Version Description\r
+*               : 21.05.2015 1.00\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Includes   <System Includes> , "Project Includes"\r
+***********************************************************************************************************************/\r
+/* Standard IO header */\r
+#include <stdio.h>\r
+/* Default  type definition header */\r
+#include "r_typedefs.h"\r
+/* Character I/O header */\r
+#include "siochar.h"\r
+/* I/O Register root header */\r
+#include "iodefine.h"\r
+/* Compiler specific UART i/O support header */\r
+#include "gnu_io.h"\r
+\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: put_string\r
+* Description  : GNU interface to low-level I/O putchar replacement\r
+* Arguments    : char * pString\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void put_string (char *pString)\r
+{\r
+    while(0 != (*pString))\r
+    {\r
+        io_put_char(*pString++);\r
+    }\r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function put_string\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: get_string\r
+* Description  : GNU interface to low-level I/O getchar replacement\r
+* Arguments    : char * pString\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void get_string (char * pString)\r
+{\r
+    char * ptr = pString;\r
+\r
+    do\r
+    {\r
+        (*ptr) = io_get_char();\r
+\r
+        io_put_char(*ptr);\r
+\r
+        if('\r' == (*ptr))\r
+        {\r
+            (*ptr) = 0;\r
+\r
+            /* This is intentional since no more input is expected */\r
+            break;\r
+        }\r
+    }\r
+    while('\0' != (*ptr++));\r
+    io_put_char('\r');\r
+    io_put_char('\n');\r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function get_string\r
+***********************************************************************************************************************/\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/src/loader_init2.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/src/loader_init2.c
new file mode 100644 (file)
index 0000000..c8f9cf5
--- /dev/null
@@ -0,0 +1,243 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 Init program\r
+* File Name    : loader_init2.c\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : Loader program 2\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : Initialise the peripheral settings of RZ/T1\r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Includes <System Includes> , "Project Includes"\r
+***********************************************************************************************************************/\r
+#include <stdint.h>\r
+#include "iodefine.h"\r
+#include "r_cg_cgc.h"\r
+#include "r_cg_mpc.h"\r
+#include "r_system.h"\r
+#include "r_reset.h"\r
+#include "r_atcm_init.h"\r
+#include "r_typedefs.h"\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Private variables and functions\r
+***********************************************************************************************************************/\r
+static void reset_check (void);\r
+static void cpg_init (void);\r
+\r
+/***********************************************************************************************************************\r
+Imported global variables and functions (from other files)\r
+***********************************************************************************************************************/\r
+extern void main(void);\r
+extern void set_low_vec(void);\r
+extern void cache_init(void);\r
+\r
+/***********************************************************************************************************************\r
+Exported global variables and functions (to be accessed by other files)\r
+***********************************************************************************************************************/\r
+void loader_init2 (void);\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : loader_init2\r
+* Description   : Initialise system by loader program 2\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void loader_init2 (void)\r
+{ \r
+    /* Check the reset source */\r
+    reset_check();\r
+  \r
+    /* Set CPU clock and LOCO clock */\r
+    cpg_init();\r
+    \r
+    /* Set ATCM access wait to 1-wait with optimisation */\r
+    /* Caution: ATCM_WAIT_0 is permitted if CPUCLK = 150MHz or 300MHz.\r
+                ATCM_WAIT_1_OPT is permitted if CPUCLK = 450MHz or 600MHz.*/\r
+    R_ATCM_WaitSet(ATCM_WAIT_1_OPT);\r
+     \r
+    /* Initialise I1, D1 Cache and MPU setting */\r
+#warning Cache not enabled.\r
+//    cache_init();\r
+    \r
+    /* Set RZ/T1 to Low-vector (SCTLR.V = 0) */\r
+    set_low_vec();  \r
+                \r
+    /* Jump to _main() */\r
+    main();\r
+\r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function loader_init2\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : reset_check\r
+* Description   : Check the reset source and execute the each sequence.\r
+*                 When error source number 35 is generated, set P77 pin to High.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+static void reset_check(void)\r
+{\r
+    volatile uint8_t result;\r
+    volatile uint32_t dummy;\r
+    \r
+    UNUSED_VARIABLE(result);\r
+    UNUSED_VARIABLE(dummy);\r
+\r
+    /* Check the reset status flag and execute the each sequence */\r
+    if (RST_SOURCE_ECM == SYSTEM.RSTSR0.LONG)\r
+    {\r
+        /* Enable writing to the RSTSR0 register */\r
+        r_rst_write_enable();\r
+\r
+        /* Clear reset factor flag */\r
+        SYSTEM.RSTSR0.LONG = 0x00000000;\r
+\r
+        /* Disable writing to the RSTSR0 register */\r
+        r_rst_write_disable();\r
+        \r
+        /* Please coding the User program */ \r
+        \r
+    }\r
+\r
+    /* Software reset 1 is generated */\r
+    else if (RST_SOURCE_SWR1 == SYSTEM.RSTSR0.LONG)\r
+    {\r
+        /* Clear reset status flag */ \r
+        /* Enable writing to the RSTSR0 register */\r
+        r_rst_write_enable();\r
+\r
+        /* Clear reset factor flag */\r
+        SYSTEM.RSTSR0.LONG = 0x00000000;\r
+\r
+        /* Disable writing to the RSTSR0 register */\r
+        r_rst_write_disable();\r
+        \r
+        /* Please coding the User program */  \r
+        \r
+    }\r
+    else if (RST_SOURCE_RES == SYSTEM.RSTSR0.LONG) // RES# pin reset is generated\r
+    {\r
+        /* Clear reset status flag */ \r
+        \r
+        /* Enable writing to the RSTSR0 register */\r
+        r_rst_write_enable();\r
+\r
+        /* Clear reset factor flag */\r
+        SYSTEM.RSTSR0.LONG = 0x00000000;\r
+\r
+        /* Disable writing to the RSTSR0 register */\r
+        r_rst_write_disable();\r
+\r
+        /* Please add user code */\r
+        \r
+    }\r
+\r
+    /* Any reset is not generated */\r
+    else\r
+    {        \r
+        /* Please add user code */\r
+    }\r
+\r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function reset_check\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : cpg_init\r
+* Description   : Set CPU clock and LOCO clock by CPG function\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+static void cpg_init(void)\r
+{\r
+    volatile uint32_t dummy; \r
+\r
+    UNUSED_VARIABLE(dummy);\r
+\r
+    /* Enables writing to the registers related to CPG function */\r
+    R_CPG_WriteEnable();\r
+    \r
+    /* Enables LOCO clock operation */\r
+    SYSTEM.LOCOCR.BIT.LCSTP = CPG_LOCO_ENABLE;\r
+    \r
+    /* Set CPUCLK to 450MHz, and dummy read at three times */\r
+    SYSTEM.PLL1CR.LONG = CPG_CPUCLK_450_MHz;\r
+    dummy = SYSTEM.PLL1CR.LONG;\r
+    dummy = SYSTEM.PLL1CR.LONG;\r
+    dummy = SYSTEM.PLL1CR.LONG;\r
+     \r
+    /* Enables PLL1 operation */\r
+    SYSTEM.PLL1CR2.LONG = CPG_PLL1_ON;    \r
+    \r
+    /* Disables writing to the registers related to CPG function */\r
+    R_CPG_WriteDisable();\r
+    \r
+    /* Wait about 100us for PLL1 (and LOCO) stabilisation */\r
+    R_CPG_PLLWait();\r
+\r
+    /* Enables writing to the registers related to CPG function */\r
+    R_CPG_WriteEnable();\r
+     \r
+    /* Selects the PLL1 as clock source */\r
+    SYSTEM.SCKCR2.LONG = CPG_SELECT_PLL1;\r
+    \r
+    /* Disables writing to the registers related to CPG function */\r
+    R_CPG_WriteDisable();\r
+\r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function cpg_init\r
+***********************************************************************************************************************/\r
+\r
+\r
+/* End of File */\r
+\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/src/syscalls.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/GCC/src/syscalls.c
new file mode 100644 (file)
index 0000000..d4eabd0
--- /dev/null
@@ -0,0 +1,717 @@
+/* Support files for GNU libc.  Files in the system namespace go here.
+   Files in the C namespace (ie those that do not start with an
+   underscore) go in .c.  */
+
+#include <_ansi.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/fcntl.h>
+#include <stdio.h>
+#include <time.h>
+#include <sys/time.h>
+#include <sys/times.h>
+#include <errno.h>
+#include <reent.h>
+#include <signal.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include "r_typedefs.h"
+#include "siochar.h"
+#include "swi.h"
+
+
+#ifndef NULL
+#define NULL (0)
+#endif
+
+/* Forward prototypes.  */
+int     _system     _PARAMS ((const char *));
+int     _rename     _PARAMS ((const char *, const char *));
+int     _isatty                _PARAMS ((int));
+clock_t _times         _PARAMS ((struct tms *));
+int     _gettimeofday  _PARAMS ((struct timeval *, void *));
+void    _raise                 _PARAMS ((void));
+int     _unlink                _PARAMS ((const char *));
+int     _link          _PARAMS ((void));
+int     _stat          _PARAMS ((const char *, struct stat *));
+int     _fstat                 _PARAMS ((int, struct stat *));
+caddr_t _sbrk          _PARAMS ((int));
+int     _getpid                _PARAMS ((int));
+int     _kill          _PARAMS ((int, int));
+void    _exit          _PARAMS ((int));
+int     _close         _PARAMS ((int));
+int     _swiclose      _PARAMS ((int));
+int     _open          _PARAMS ((const char *, int, ...));
+int     _swiopen       _PARAMS ((const char *, int));
+int    _write          _PARAMS ((int, const char *, unsigned int));
+
+int     _swiwrite      _PARAMS ((int, char *, int));
+int     _lseek         _PARAMS ((int, int, int));
+int     _swilseek      _PARAMS ((int, int, int));
+int    _read           _PARAMS ((int, char *, unsigned int));
+
+int     _swiread       _PARAMS ((int, char *, int));
+void    initialise_monitor_handles _PARAMS ((void));
+
+static int     wrap            _PARAMS ((int));
+static int     error           _PARAMS ((int));
+static int     get_errno       _PARAMS ((void));
+static int     remap_handle    _PARAMS ((int));
+
+#ifdef ARM_RDI_MONITOR
+static int     do_AngelSWI     _PARAMS ((int, void *));
+#endif
+
+static int     findslot        _PARAMS ((int));
+
+/* Register name faking - works in collusion with the linker.  */
+register char * stack_ptr __asm ("sp");
+
+
+/* following is copied from libc/stdio/local.h to check std streams */
+extern void   _EXFUN(__sinit,(struct _reent *));
+#define CHECK_INIT(ptr) \
+        do                                             \
+            {                                          \
+              if ((ptr) && !(ptr)->__sdidinit)         \
+            __sinit (ptr);                             \
+            }                                          \
+          while (0)
+
+/* Adjust our internal handles to stay away from std* handles.  */
+#define FILE_HANDLE_OFFSET (0x20)
+
+static int monitor_stdin;
+static int monitor_stdout;
+static int monitor_stderr;
+
+/* Struct used to keep track of the file position, just so we
+   can implement fseek(fh,x,SEEK_CUR).  */
+typedef struct
+{
+  int handle;
+  int pos;
+}
+poslog;
+
+#define MAX_OPEN_FILES (20)
+static poslog openfiles [MAX_OPEN_FILES];
+
+static int
+findslot (int fh)
+{
+  int i;
+  for (i = 0; i < MAX_OPEN_FILES; i ++)
+    if (openfiles[i].handle == fh)
+    {
+        break;
+    }
+  return (i);
+}
+
+#ifdef ARM_RDI_MONITOR
+
+static inline int
+do_AngelSWI (int reason, void * arg)
+{
+  int value;
+  asm volatile ("mov r0, %1; mov r1, %2; " AngelSWIInsn " %a3; mov %0, r0"
+       : "=r" (value) /* Outputs */
+       : "r" (reason), "r" (arg), "i" (AngelSWI) /* Inputs */
+       : "r0", "r1", "r2", "r3", "ip", "lr", "memory", "cc"
+               /* Clobbers r0 and r1, and lr if in supervisor mode */);
+                /* Accordingly to page 13-77 of ARM DUI 0040D other registers
+                   can also be clobbered.  Some memory positions may also be
+                   changed by a system call, so they should not be kept in
+                   registers. Note: we are assuming the manual is right and
+                   Angel is respecting the APCS.  */
+  return value;
+}
+#endif /* ARM_RDI_MONITOR */
+
+/* Function to convert std(in|out|err) handles to internal versions.  */
+static int
+remap_handle (int fh)
+{
+    CHECK_INIT(_REENT);
+
+    if (STDIN_FILENO == fh)
+    {
+        return (monitor_stdin);
+    }
+    if (STDOUT_FILENO == fh)
+    {
+        return (monitor_stdout);
+    }
+    if (STDERR_FILENO == fh)
+    {
+        return (monitor_stderr);
+    }
+
+  return (fh - FILE_HANDLE_OFFSET);
+}
+
+void
+initialise_monitor_handles (void)
+{
+  int i;
+  
+#ifdef ARM_RDI_MONITOR
+  int volatile block[3];
+  
+  block[0] = (int) ":tt";
+  block[2] = 3;     /* length of filename */
+  block[1] = 0;     /* mode "r" */
+  monitor_stdin = do_AngelSWI (AngelSWI_Reason_Open, (void *) block);
+
+  block[0] = (int) ":tt";
+  block[2] = 3;     /* length of filename */
+  block[1] = 4;     /* mode "w" */
+  monitor_stdout = monitor_stderr = do_AngelSWI (AngelSWI_Reason_Open, (void *) block);
+#else
+  int fh;
+  const char * pname;
+
+  pname = ":tt";
+  __asm ("mov r0,%2; mov r1, #0; swi %a1; mov %0, r0"
+       : "=r"(fh)
+       : "i" (SWI_Open),"r"(pname)
+       : "r0","r1");
+  monitor_stdin = fh;
+
+  pname = ":tt";
+  __asm ("mov r0,%2; mov r1, #4; swi %a1; mov %0, r0"
+       : "=r"(fh)
+       : "i" (SWI_Open),"r"(pname)
+       : "r0","r1");
+  monitor_stdout = (monitor_stderr = fh);
+#endif
+
+    for (i = 0; i < MAX_OPEN_FILES; i ++)
+    {
+        openfiles[i].handle = (-1);
+    }
+
+    openfiles[0].handle = monitor_stdin;
+    openfiles[0].pos = 0;
+    openfiles[1].handle = monitor_stdout;
+    openfiles[1].pos = 0;
+}
+
+static int
+get_errno (void)
+{
+#ifdef ARM_RDI_MONITOR
+  return do_AngelSWI (AngelSWI_Reason_Errno, NULL);
+#else
+  __asm ("swi %a0" :: "i" (SWI_GetErrno));
+  return (0);
+#endif
+}
+
+static int
+error (int result)
+{
+  errno = get_errno ();
+  return (result);
+}
+
+static int
+wrap (int result)
+{
+    if ((-1) == result)
+    {
+        return (error(-1));
+    }
+    return (result);
+}
+
+/* Returns # chars not! written.  */
+int
+_swiread (int file,
+         char * ptr,
+         int len)
+{
+  int fh = remap_handle (file);
+#ifdef ARM_RDI_MONITOR
+  int block[3];
+  
+  block[0] = fh;
+  block[1] = (int) ptr;
+  block[2] = len;
+  
+  return do_AngelSWI (AngelSWI_Reason_Read, block);
+#else
+  __asm ("mov r0, %1; mov r1, %2;mov r2, %3; swi %a0"
+       : /* No outputs */
+       : "i"(SWI_Read), "r"(fh), "r"(ptr), "r"(len)
+       : "r0","r1","r2");
+  return (0);
+#endif
+}
+
+/******************************************************************************
+* Function Name: _read
+* Description  : GNU interface to low-level I/O read
+* Arguments    : int file_no
+*              : const char *buffer
+*              : unsigned int n
+* Return Value : none
+******************************************************************************/
+int _read(int file_no , char *buffer , unsigned int n)
+{
+    return (sio_read(file_no , buffer , n));
+}
+
+int
+_swilseek (int file,
+          int ptr,
+          int dir)
+{
+  int res;
+  int fh = remap_handle (file);
+  int slot = findslot (fh);
+#ifdef ARM_RDI_MONITOR
+  int block[2];
+#endif
+
+  if (SEEK_CUR == dir)
+    {
+        if (MAX_OPEN_FILES == slot)
+        {
+            return (-1);
+        }
+        ptr = (openfiles[slot].pos + ptr);
+        dir = SEEK_SET;
+    }
+  
+#ifdef ARM_RDI_MONITOR
+  if (dir == SEEK_END)
+    {
+      block[0] = fh;
+      ptr += do_AngelSWI (AngelSWI_Reason_FLen, block);
+    }
+  
+  /* This code only does absolute seeks.  */
+  block[0] = remap_handle (file);
+  block[1] = ptr;
+  res = do_AngelSWI (AngelSWI_Reason_Seek, block);
+#else
+  if (SEEK_END == dir)
+    {
+      __asm ("mov r0, %2; swi %a1; mov %0, r0"
+          : "=r" (res)
+          : "i" (SWI_Flen), "r" (fh)
+          : "r0");
+      ptr += res;
+    }
+
+  /* This code only does absolute seeks.  */
+  __asm ("mov r0, %2; mov r1, %3; swi %a1; mov %0, r0"
+       : "=r" (res)
+       : "i" (SWI_Seek), "r" (fh), "r" (ptr)
+       : "r0", "r1");
+#endif
+
+    if ((MAX_OPEN_FILES != slot) && (0 == res))
+    {
+        openfiles[slot].pos = ptr;
+    }
+
+  /* This is expected to return the position in the file.  */
+    return ((0 == res) ? ptr : (-1));
+}
+
+int
+_lseek (int file,
+       int ptr,
+       int dir)
+{
+  return (wrap (_swilseek (file, ptr, dir)));
+}
+
+/* Returns #chars not! written.  */
+int
+_swiwrite (
+          int    file,
+          char * ptr,
+          int    len)
+{
+  int fh = remap_handle (file);
+#ifdef ARM_RDI_MONITOR
+  int block[3];
+  
+  block[0] = fh;
+  block[1] = (int) ptr;
+  block[2] = len;
+  
+  return do_AngelSWI (AngelSWI_Reason_Write, block);
+#else
+  __asm ("mov r0, %1; mov r1, %2;mov r2, %3; swi %a0"
+       : /* No outputs */
+       : "i"(SWI_Write), "r"(fh), "r"(ptr), "r"(len)
+       : "r0","r1","r2");
+  return (0);
+#endif
+}
+
+/******************************************************************************
+* Function Name: _write
+* Description  : GNU interface to low-level I/O write
+* Arguments    : int file_no
+*              : const char *buffer
+*              : unsigned int n
+* Return Value : none
+******************************************************************************/
+int _write(int file_no , const char *buffer , unsigned int n)
+{
+    return (sio_write(file_no , buffer , n));
+}
+
+int
+_swiopen (const char * path,
+         int          flags)
+{
+  int aflags = 0, fh;
+#ifdef ARM_RDI_MONITOR
+  int block[3];
+#endif
+  
+  int i = findslot (-1);
+  
+  if (MAX_OPEN_FILES == i)
+    {
+        return (-1);
+    }
+
+  /* The flags are Unix-style, so we need to convert them.  */
+#ifdef O_BINARY
+  if (flags & O_BINARY)
+    {
+        aflags |= 1;
+    }
+#endif
+
+  if (flags & O_RDWR)
+    {
+        aflags |= 2;
+    }
+
+  if (flags & O_CREAT)
+    {
+        aflags |= 4;
+    }
+
+  if (flags & O_TRUNC)
+    {
+        aflags |= 4;
+    }
+
+  if (flags & O_APPEND)
+    {
+      aflags &= (~4);     /* Can't ask for w AND a; means just 'a'.  */
+      aflags |= 8;
+    }
+  
+#ifdef ARM_RDI_MONITOR
+  block[0] = (int) path;
+  block[2] = strlen (path);
+  block[1] = aflags;
+  
+  fh = do_AngelSWI (AngelSWI_Reason_Open, block);
+  
+#else
+  __asm ("mov r0,%2; mov r1, %3; swi %a1; mov %0, r0"
+       : "=r"(fh)
+       : "i" (SWI_Open),"r"(path),"r"(aflags)
+       : "r0","r1");
+#endif
+  
+  if (fh >= 0)
+    {
+      openfiles[i].handle = fh;
+      openfiles[i].pos = 0;
+    }
+
+  return ((fh >= 0) ? (fh + FILE_HANDLE_OFFSET) : error (fh));
+}
+
+int
+_open (const char * path,
+       int          flags,
+       ...)
+{
+  return (wrap (_swiopen (path, flags)));
+}
+
+int
+_swiclose (int file)
+{
+  int myhan = remap_handle (file);
+  int slot = findslot (myhan);
+  
+  if (MAX_OPEN_FILES != slot)
+    {
+        openfiles[slot].handle = (-1);
+    }
+
+#ifdef ARM_RDI_MONITOR
+  return do_AngelSWI (AngelSWI_Reason_Close, & myhan);
+#else
+  __asm ("mov r0, %1; swi %a0" :: "i" (SWI_Close),"r"(myhan):"r0");
+  return (0);
+#endif
+}
+
+int
+_close (int file)
+{
+  return (wrap (_swiclose (file)));
+}
+
+int
+_kill (int pid, int sig)
+{
+  (void)pid; (void)sig;
+#ifdef ARM_RDI_MONITOR
+  /* Note: The pid argument is thrown away.  */
+  switch (sig) {
+         case SIGABRT:
+                 return do_AngelSWI (AngelSWI_Reason_ReportException,
+                                 (void *) ADP_Stopped_RunTimeError);
+         default:
+                 return do_AngelSWI (AngelSWI_Reason_ReportException,
+                                 (void *) ADP_Stopped_ApplicationExit);
+  }
+#else
+  __asm ("swi %a0" :: "i" (SWI_Exit));
+  return (0);
+#endif
+}
+
+void
+_exit (int status)
+{
+  /* There is only one SWI for both _exit and _kill. For _exit, call
+     the SWI with the second argument set to -1, an invalid value for
+     signum, so that the SWI handler can distinguish the two calls.
+     Note: The RDI implementation of _kill throws away both its
+     arguments.  */
+  _kill(status, -1);
+  while(1)\r
+  {\r
+      /* exit occurred */\r
+  };
+}
+
+int
+_getpid (int n)
+{
+  (void)(n);
+  return (1);
+}
+
+caddr_t
+_sbrk (int incr)
+{
+  extern char   end __asm ("end");     /* Defined by the linker.  */
+  static char * pheap_end;
+  char *        prev_heap_end;
+
+    if (NULL == pheap_end)
+    {
+        pheap_end = (&end);
+    }
+  
+  prev_heap_end = pheap_end;
+  
+  if ((pheap_end + incr) > stack_ptr)
+    {
+      /* Some of the libstdc++-v3 tests rely upon detecting
+        out of memory errors, so do not abort here.  */
+#if 0
+      extern void abort (void);
+
+      _write (1, "_sbrk: Heap and stack collision\n", 32);
+      
+      abort ();
+#else
+      errno = ENOMEM;
+      return ((caddr_t) (-1));
+#endif
+    }
+  
+  pheap_end += incr;
+
+  return ((caddr_t) prev_heap_end);
+}
+
+int
+_fstat (int file, struct stat * st)
+{
+  (void)file;
+  memset (st, 0, sizeof (* st));
+  st->st_mode = S_IFCHR;
+  st->st_blksize = 1024;
+  return (0);
+}
+
+int _stat (const char *fname, struct stat *st)
+{
+  int file;
+
+  /* The best we can do is try to open the file read-only.  If it exists,
+     then we can guess a few things about it.  */
+  if ((file = _open (fname, O_RDONLY)) < 0)
+    {
+        return (-1);
+    }
+
+  memset (st, 0, sizeof (* st));
+  st->st_mode = (S_IFREG | S_IREAD);
+  st->st_blksize = 1024;
+  _swiclose (file); /* Not interested in the error.  */
+  return (0);
+}
+
+int
+_link (void)
+{
+  return (-1);
+}
+
+int
+_unlink (const char *path)
+{
+#ifdef ARM_RDI_MONITOR
+  int block[2];
+  block[0] = path;
+  block[1] = strlen(path);
+  return wrap (do_AngelSWI (AngelSWI_Reason_Remove, block)) ? -1 : 0;
+#else  
+  return -1;
+#endif
+}
+
+void
+_raise (void)
+{
+  return;
+}
+
+int
+_gettimeofday (struct timeval * tp, void * tzvp)
+{
+  struct timezone * ptzp = tzvp;
+  if (tp)
+    {
+    /* Ask the host for the seconds since the Unix epoch.  */
+#ifdef ARM_RDI_MONITOR
+      tp->tv_sec = do_AngelSWI (AngelSWI_Reason_Time,NULL);
+#else
+      {
+        int value;
+        __asm ("swi %a1; mov %0, r0" : "=r" (value): "i" (SWI_Time) : "r0");
+        tp->tv_sec = value;
+      }
+#endif
+      tp->tv_usec = 0;
+    }
+
+  /* Return fixed data for the time-zone.  */
+  if (ptzp)
+    {
+      ptzp->tz_minuteswest = 0;
+      ptzp->tz_dsttime = 0;
+    }
+
+  return (0);
+}
+
+/* Return a clock that ticks at 100Hz.  */
+clock_t 
+_times (struct tms * tp)
+{
+  clock_t timeval;
+
+#ifdef ARM_RDI_MONITOR
+  timeval = do_AngelSWI (AngelSWI_Reason_Clock,NULL);
+#else
+  __asm ("swi %a1; mov %0, r0" : "=r" (timeval): "i" (SWI_Clock) : "r0");
+#endif
+
+  if (tp)
+    {
+      tp->tms_utime  = timeval;        /* user time */
+      tp->tms_stime  = 0;      /* system time */
+      tp->tms_cutime = 0;      /* user time, children */
+      tp->tms_cstime = 0;      /* system time, children */
+    }
+  
+  return (timeval);
+};
+
+
+int
+_isatty (int fd)
+{
+#ifdef ARM_RDI_MONITOR
+  int fh = remap_handle (fd);
+  return wrap (do_AngelSWI (AngelSWI_Reason_IsTTY, &fh));
+#else
+  return ((fd <= 2) ? 1 : 0);  /* one of stdin, stdout, stderr */
+#endif
+}
+
+int
+_system (const char *s)
+{
+#ifdef ARM_RDI_MONITOR
+  int block[2];
+  int e;
+
+  /* Hmmm.  The ARM debug interface specification doesn't say whether
+     SYS_SYSTEM does the right thing with a null argument, or assign any
+     meaning to its return value.  Try to do something reasonable....  */
+  if (!s)
+    return 1;  /* maybe there is a shell available? we can hope. :-P */
+  block[0] = s;
+  block[1] = strlen (s);
+  e = wrap (do_AngelSWI (AngelSWI_Reason_System, block));
+  if ((e >= 0) && (e < 256))
+    {
+      /* We have to convert e, an exit status to the encoded status of
+         the command.  To avoid hard coding the exit status, we simply
+        loop until we find the right position.  */
+      int exit_code;
+
+      for (exit_code = e; e && WEXITSTATUS (e) != exit_code; e <<= 1)
+       continue;
+    }
+  return e;
+#else
+  if (NULL == s)
+    {
+        return (0);
+    }
+  errno = ENOSYS;
+  return (-1);
+#endif
+}
+
+int
+_rename (const char * oldpath, const char * newpath)
+{
+#ifdef ARM_RDI_MONITOR
+  int block[4];
+  block[0] = oldpath;
+  block[1] = strlen(oldpath);
+  block[2] = newpath;
+  block[3] = strlen(newpath);
+  return wrap (do_AngelSWI (AngelSWI_Reason_Rename, block)) ? -1 : 0;
+#else  
+  errno = ENOSYS;
+  return (-1);
+#endif
+}
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/r_atcm_init.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/r_atcm_init.c
new file mode 100644 (file)
index 0000000..6c17a6a
--- /dev/null
@@ -0,0 +1,111 @@
+/*******************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 Init program\r
+* File Name    : r_atcm_init.c\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : API for ATCM function\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : ATCM access wait setting API of RZ/T1\r
+* Limitation   : This wait setting could not be executed in ATCM program area. \r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Includes <System Includes> , "Project Includes"\r
+***********************************************************************************************************************/\r
+#include <stdint.h>\r
+#include "iodefine.h"\r
+#include "r_system.h"\r
+#include "r_atcm_init.h"\r
+#include "r_typedefs.h"\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#define ATCM_WRITE_ENABLE (0x0000A508)\r
+#define ATCM_WRITE_DISABLE (0x0000A500)\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+\r
+\r
+/***********************************************************************************************************************\r
+Imported global variables and functions (from other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Exported global variables and functions (to be accessed by other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+\r
+/***********************************************************************************************************************\r
+Private variables and functions\r
+***********************************************************************************************************************/\r
+\r
+\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : R_ATCM_WaitSet\r
+* Description   : Sets ATCM access wait.           \r
+* Arguments    : atcm_wait\r
+*                    Wait settings for ATCM access\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void R_ATCM_WaitSet(uint32_t atcm_wait)\r
+{\r
+    volatile uint32_t dummy; \r
+\r
+    UNUSED_VARIABLE(dummy);\r
+  \r
+    /* Enables writing to the ATCM register */\r
+    SYSTEM.PRCR.LONG = ATCM_WRITE_ENABLE;\r
+    dummy = SYSTEM.PRCR.LONG;\r
+    \r
+    /* Sets ATCM access wait to atcm_wait value */\r
+    SYSTEM.SYTATCMWAIT.LONG = atcm_wait;\r
+    \r
+    /* Disables writing to the ATCM register */\r
+    SYSTEM.PRCR.LONG = ATCM_WRITE_DISABLE;\r
+    dummy = SYSTEM.PRCR.LONG;\r
+    \r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function R_ATCM_WaitSet\r
+***********************************************************************************************************************/\r
+\r
+/* End of File */\r
+\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/r_ram_init.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/r_ram_init.c
new file mode 100644 (file)
index 0000000..65ee8c9
--- /dev/null
@@ -0,0 +1,153 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 Init program\r
+* File Name    : r_ram_init.c\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : API for internal extended RAM function\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : internal extended RAM setting API of RZ/T1\r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Includes <System Includes> , "Project Includes"\r
+***********************************************************************************************************************/\r
+#include <stdint.h>\r
+#include "iodefine.h"\r
+#include "r_system.h"\r
+#include "r_ram_init.h"\r
+#include "r_typedefs.h"\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#define RAM_ECC_ENABLE (0x00000001)\r
+#define RAM_ECC_DISABLE (0x00000000)\r
+#define RAM_PROTECT (0x00000000)\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+\r
+\r
+/***********************************************************************************************************************\r
+Imported global variables and functions (from other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Exported global variables and functions (to be accessed by other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+\r
+/***********************************************************************************************************************\r
+Private variables and functions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : R_RAM_ECCEnable\r
+* Description   : Enable ECC function for internal extended RAM.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void R_RAM_ECCEnable(void)\r
+{\r
+    /* Enables writing to the protected registers related to RAM function */\r
+    R_RAM_WriteEnable();\r
+  \r
+    /* Enable ECC function */\r
+    ECCRAM.RAMEDC.LONG = RAM_ECC_ENABLE;\r
+    \r
+    /* Disables writing to the protected registers related to RAM function */\r
+    R_RAM_WriteDisable();\r
+    \r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function R_RAM_ECCEnable\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : R_RAM_WriteEnable\r
+* Description   : Enable writing to the protected registers related to RAM.\r
+*                 And dummy read the register in order to fix the register value.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void R_RAM_WriteEnable(void)\r
+{\r
+    volatile uint32_t dummy; \r
+\r
+    UNUSED_VARIABLE(dummy);\r
+    \r
+    /* Special sequence for protect release */\r
+    ECCRAM.RAMPCMD.LONG = 0x000000A5;  // Write fixed value 0x000000A5\r
+    ECCRAM.RAMPCMD.LONG = 0x00000001;  // Write expected value \r
+    ECCRAM.RAMPCMD.LONG = 0x0000FFFE;  // Write inverted value of the expected value\r
+    ECCRAM.RAMPCMD.LONG = 0x00000001;  // Write expected value again\r
+    dummy = ECCRAM.RAMPCMD.LONG;        \r
+    \r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function R_RAM_WriteEnable\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : R_RAM_WriteDisable\r
+* Description   : Disable writing to the protected registers related to RAM.\r
+*                 And dummy read the register in order to fix the register value.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void R_RAM_WriteDisable(void)\r
+{\r
+    volatile uint32_t dummy; \r
+\r
+    UNUSED_VARIABLE(dummy);\r
+    \r
+    /* Clear RAMPCMD register to zero */\r
+    ECCRAM.RAMPCMD.LONG = RAM_PROTECT;   \r
+    dummy = ECCRAM.RAMPCMD.LONG; \r
+    \r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function R_RAM_WriteDisable\r
+***********************************************************************************************************************/\r
+\r
+/* End of File */\r
+\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/r_reset.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/r_reset.c
new file mode 100644 (file)
index 0000000..9218763
--- /dev/null
@@ -0,0 +1,128 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 Init program\r
+* File Name    : r_reset.c\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : API for RESET and Low-Power function\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : RESET and Low-Power API of RZ/T1\r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Includes <System Includes> , "Project Includes"\r
+***********************************************************************************************************************/\r
+#include <stdint.h>\r
+#include "iodefine.h"\r
+#include "r_system.h"\r
+#include "r_reset.h"\r
+#include "r_typedefs.h"\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#define RST_WRITE_ENABLE  (0x0000A502)\r
+#define RST_WRITE_DISABLE (0x0000A500)\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+\r
+\r
+/***********************************************************************************************************************\r
+Imported global variables and functions (from other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Exported global variables and functions (to be accessed by other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+\r
+/***********************************************************************************************************************\r
+Private variables and functions\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : r_rst_write_enable\r
+* Description   : Enables writing to the registers related to RESET and Low-\r
+*                 Power function. And dummy read the register in order to fix \r
+*                 the register value.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void r_rst_write_enable(void)\r
+{\r
+    volatile uint32_t dummy; \r
+\r
+    UNUSED_VARIABLE(dummy);\r
+  \r
+    /* Enables writing to the Reset and Low-Power register */\r
+    SYSTEM.PRCR.LONG = RST_WRITE_ENABLE;\r
+    dummy = SYSTEM.PRCR.LONG;\r
+    \r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function r_rst_write_enable\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : r_rst_write_disable\r
+* Description   : Disables writing to the registers related to RESET and Low-\r
+*                 Power function. And dummy read the register in order to fix \r
+*                 the register value.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void r_rst_write_disable(void)\r
+{\r
+    volatile uint32_t dummy; \r
+\r
+    UNUSED_VARIABLE(dummy);\r
+  \r
+    /* Disables writing to the Reset and Low-Power register */\r
+    SYSTEM.PRCR.LONG = RST_WRITE_DISABLE;\r
+    dummy = SYSTEM.PRCR.LONG;\r
+    \r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function r_rst_write_disable\r
+***********************************************************************************************************************/\r
+\r
+/* End of File */\r
+\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/siochar.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/siochar.c
new file mode 100644 (file)
index 0000000..db4cb0a
--- /dev/null
@@ -0,0 +1,196 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 SCIF program\r
+* File Name    : siochar.c\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : Serial I/O settings controlling the character\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : Control the character with serial I/O  \r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Includes   <System Includes> , "Project Includes"\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_userdefine.h" \r
+#include "r_cg_scifa.h"\r
+#include "siochar.h"\r
+\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Imported global variables and functions (from other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Exported global variables and functions (to be accessed by other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Private global variables and functions\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: io_init_scifa2\r
+* Description  : This function initialises SCIFA channel 2 as UART mode.\r
+*              : The transmit and the receive of SCIFA channel 2 are enabled.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void io_init_scifa2 (void)\r
+{\r
+    /* === Initialisation of SCIFA2 if not already initialised ==== */\r
+    if (1 == MSTP_SCIFA2)\r
+    {\r
+        R_SCIFA2_Create();\r
+    }\r
+    \r
+    /* Ensure receive FIFO trigger is set to 1 */ \r
+    SCIFA2.FCR.BIT.RTRG = 0U;\r
+        \r
+    /* Reception triggered by one data */\r
+    SCIFA2.FTCR.BIT.RFTC = 1u;\r
+\r
+    /* Enable reception and receive interrupts */\r
+    SCIFA2.SCR.BIT.RE = 1U;\r
+    SCIFA2.SCR.BIT.RIE = 1U;\r
+    SCIFA2.SCR.BIT.REIE = 1U;\r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function io_init_scifa2\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+ * Function Name: io_get_char\r
+* Description  : One character is received from SCIFA2, and it's data is returned.\r
+*              : This function keeps waiting until it can obtain the receiving data.\r
+* Arguments    : none\r
+* Return Value : Character to receive (Byte).\r
+***********************************************************************************************************************/\r
+char io_get_char (void)\r
+{\r
+    char    data;\r
+    \r
+    /* Confirming receive error (ER,BRK,FER,PER) */\r
+    if (SCIFA2.FSR.WORD & 0x09Cu)\r
+    {\r
+        /* ---- Detect receive error ---- */\r
+        \r
+        /* Disable reception */\r
+        SCIFA2.SCR.BIT.RE = 0U;\r
+        \r
+        /* Reset receiving FIFO */\r
+        SCIFA2.FCR.BIT.RFRST = 1U;\r
+        \r
+        /* Clearing FIFO reception reset */\r
+        SCIFA2.FCR.BIT.RFRST = 0U;\r
+        \r
+        /* Error bit clear */ \r
+        SCIFA2.FSR.BIT.DR  = 0U;\r
+        SCIFA2.FSR.BIT.RDF = 0U;\r
+        \r
+        /* Enable reception */\r
+        SCIFA2.SCR.BIT.RE = 1U;\r
+\r
+        return (0);\r
+    }\r
+\r
+    /* Is there receive FIFO data? */\r
+    while (0 == SCIFA2.FSR.BIT.RDF)\r
+    {\r
+        /* Wait */\r
+    }\r
+\r
+    /* Read receive data */\r
+    data = SCIFA2.FRDR;\r
+\r
+    /* Clear RDF */\r
+    SCIFA2.FSR.BIT.RDF = 0U;\r
+\r
+    /* Is it overflowed? */\r
+    if (1 == SCIFA2.LSR.BIT.ORER)\r
+    {\r
+        /* ORER clear */\r
+        SCIFA2.LSR.BIT.ORER = 0U;\r
+    }\r
+\r
+    return (data);\r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function io_get_char\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: io_put_char\r
+* Description  : Character "buffer" is output to SCIFA2.\r
+*              : This function keeps waiting until it becomes the transmission\r
+*              : enabled state.\r
+* Arguments    : char buffer : character to output\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void io_put_char (char buffer)\r
+{     \r
+    /* Check if it is possible to transmit (TDFE flag) */\r
+    while (0 == SCIFA2.FSR.BIT.TDFE)\r
+    {\r
+        /* Wait */\r
+    }\r
+\r
+    /* Send the character via the terminal output */\r
+    R_SCIFA2_Serial_Send((uint8_t *)&buffer, 1); \r
+\r
+    /* Clear TEND flag */\r
+    SCIFA2.FSR.BIT.TEND = 0u;\r
+}\r
+\r
+/***********************************************************************************************************************\r
+* End of function io_put_char\r
+***********************************************************************************************************************/\r
+\r
+\r
+/* End of File */\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/siorw.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/System/siorw.c
new file mode 100644 (file)
index 0000000..d39abd0
--- /dev/null
@@ -0,0 +1,226 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 SCIF program\r
+* File Name    : siorw.c\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : Serial I/O settings controlling the read and write command\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : Control the read/write command with serial I/O  \r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Includes   <System Includes> , "Project Includes"\r
+***********************************************************************************************************************/\r
+#include <stdio.h>\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_userdefine.h" \r
+#include "r_cg_scifa.h"\r
+#include "siochar.h"\r
+\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+/* File descriptor */\r
+#define STDIN           (0)\r
+#define STDOUT          (1)\r
+#define STDERR          (2)\r
+\r
+#define SIORW_SUCCESS   (0)\r
+#define SIORW_ERROR     (-1)\r
+#define SIORW_FLAG_OFF  (0)\r
+#define SIORW_FLAG_ON   (1)\r
+\r
+\r
+/***********************************************************************************************************************\r
+Imported global variables and functions (from other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Exported global variables and functions (to be accessed by other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Private global variables and functions\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: sio_write\r
+* Description  : The character strings specified with buffer is output for n\r
+*              : bytes from serial port. The output is determined by file number fileno.\r
+*              : The effective outputs in this version are STDOUT and STDERR, and\r
+*              : it is output to the same serial port.\r
+*              : The line-feed code '\n'(LF) is converted in '\r'(CR)+'\n'(LF) to output.\r
+* Arguments    : int32_t  file_no  ; I : File number to be the target of writing\r
+*              : int_t  * buffer   ; O : Pointer to the area in which writing data is stored\r
+*              : uint32_t writing_b; I : Writing bytes\r
+* Return Value : >=0 : Number of transmitting characters\r
+*              : -1  : File number error\r
+***********************************************************************************************************************/\r
+int32_t sio_write (int32_t file_no, const char * buffer, uint32_t writing_b)\r
+{\r
+    uint32_t offset;\r
+\r
+    if ((STDOUT == file_no) || (STDERR == file_no))\r
+    {\r
+        for (offset = 0; offset < writing_b; offset++)\r
+\r
+        {\r
+            /* Writing in buffer converting line-feed code */\r
+            if ('\n' == (*(buffer + offset)))\r
+            {\r
+                if (0 == offset)\r
+                {\r
+                    io_put_char('\r');\r
+                }\r
+                else\r
+                {\r
+                    if ('\r' != (*((buffer + offset) - 1)))\r
+                    {\r
+                        io_put_char('\r');\r
+                    }\r
+                }\r
+                io_put_char('\n');\r
+            }\r
+            else\r
+            {\r
+                io_put_char(*(buffer + offset));\r
+            }\r
+        }\r
+        return ((int32_t)offset);\r
+    }\r
+\r
+    /* File number error */\r
+    return SIORW_ERROR;\r
+}\r
+\r
+/***********************************************************************************************************************\r
+ * End of function sio_write\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: sio_read\r
+* Description  : The character strings specified with buffer is input for\r
+*              : n bytes from serial port.The input is determined by file number fileno.\r
+*              : The effective input in this version is STDIN.\r
+* Arguments    : int32_t  file_no  ; I : File number to be the target of reading\r
+*              : int_t  * buffer   ; O : Pointer to the area in which reading data is stored\r
+*              : uint32_t reading_b; I : Reading bytes\r
+* Return Value : >0 : Number of receiving characters\r
+*              : -1 : File number, receiving data error\r
+***********************************************************************************************************************/\r
+int32_t sio_read (int32_t file_no, char * buffer, uint32_t reading_b)\r
+{\r
+    int32_t        char_mem;\r
+    int32_t        sp_char;\r
+    uint32_t       offset;\r
+    static int32_t sjis_flg = SIORW_FLAG_OFF;\r
+\r
+    if (STDIN == file_no)\r
+    {\r
+        for (offset = 0; offset < reading_b; )\r
+        {\r
+            /* Reading receiving data */\r
+            char_mem = io_get_char();\r
+\r
+            /* -1 is returned when it is receiving data error */\r
+            if ((-1) == char_mem)\r
+            {\r
+                return SIORW_ERROR;\r
+            }\r
+\r
+            if (SIORW_FLAG_ON == sjis_flg)\r
+            {\r
+                sjis_flg = SIORW_FLAG_OFF;\r
+                sio_write(STDOUT, (char *)&char_mem, 1);\r
+\r
+                (*(buffer + offset)) = (char)char_mem;\r
+                offset++;\r
+            }\r
+            if ((0x20 <= char_mem) && (char_mem <= 0x7E))\r
+            {\r
+                /* Data possible to display */\r
+                sio_write(STDOUT, (char *)&char_mem, 1);\r
+                (*(buffer + offset)) = (char)char_mem;\r
+                offset++;\r
+            }\r
+\r
+            /* BS process */\r
+            if (('\b' == char_mem) && (offset > 0))\r
+            {  sp_char = 0x20;\r
+                sio_write(STDOUT, (char *)&char_mem, 1);\r
+                sio_write(STDOUT, (char *)&sp_char, 1);\r
+                sio_write(STDOUT, (char *)&char_mem, 1);\r
+                offset--;\r
+            }\r
+\r
+            /* CR process */\r
+            if ('\r' == char_mem)\r
+            {\r
+                (*(buffer + offset)) = '\n';\r
+                sio_write(STDOUT, buffer + offset, 1);\r
+                offset++;\r
+            }\r
+\r
+            /* Japanese SJIS ? */\r
+            if (((char_mem >= 0x80) && (char_mem < 0xA0)) || ((char_mem >= 0xE0) && (char_mem < 0xFE)))\r
+            {\r
+                /* Data possible to display */\r
+                sio_write(STDOUT, (char *)&char_mem, 1);\r
+                (*(buffer + offset)) = (char)char_mem;\r
+                offset++;\r
+                sjis_flg = SIORW_FLAG_ON;\r
+            }\r
+        }\r
+        return ((int32_t)offset);\r
+    }\r
+\r
+    /* File number error */\r
+    return SIORW_ERROR;\r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function sio_read\r
+***********************************************************************************************************************/\r
+\r
+\r
+/* End of File */\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/ascii.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/ascii.h
new file mode 100644 (file)
index 0000000..40dc3d8
--- /dev/null
@@ -0,0 +1,49 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+************************************************************************************************************************/\r
+/************************************************************************************************************************\r
+* File Name     : ascii.h\r
+* Device(s)     : RZ/T1 (R7S910018)\r
+* Tool-Chain    : GNUARM-NONEv14.02-EABI\r
+* H/W Platform  : RSK+RZT1 CPU Board\r
+* Description   : This Header file contains the Macro Definitions & prototypes\r
+*                for the functions used in lcd.c\r
+************************************************************************************************************************/\r
+/************************************************************************************************************************\r
+* History       : DD.MM.YYYY Version Description\r
+*               : 21.04.2015 1.00\r
+************************************************************************************************************************/\r
+\r
+/* Multiple inclusion prevention macro */\r
+#ifndef ASCII_H\r
+#define ASCII_H\r
+\r
+/***********************************************************************************************************************\r
+Macro Definitions\r
+***********************************************************************************************************************/\r
+extern const char g_ascii_table[][6];\r
+\r
+/* ASCII_H */\r
+#endif\r
+\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/iodefine.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/iodefine.h
new file mode 100644 (file)
index 0000000..366367f
--- /dev/null
@@ -0,0 +1,45398 @@
+/********************************************************************************/\r
+/*                                                                              */\r
+/* Device     : RZ/T1                                                           */\r
+/* File Name  : iodefine.h                                                      */\r
+/* Abstract   : Definition of I/O Register.                                     */\r
+/* History    : V0.8  (2015-02-23)  [Hardware Manual Revision : 0.8]            */\r
+/* Note       : This is a typical example.                                      */\r
+/*                                                                              */\r
+/*  Copyright(c) 2015 Renesas Electronics Corp. ,All Rights Reserved.           */\r
+/*                                                                              */\r
+/********************************************************************************/\r
+#ifndef __RZT1___IODEFINE_HEADER__\r
+#define __RZT1___IODEFINE_HEADER__\r
+struct st_bsc\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :9;\r
+            unsigned long BSZ:2;\r
+            unsigned long :1;\r
+            unsigned long TYPE:3;\r
+            unsigned long :1;\r
+            unsigned long IWRRS:3;\r
+            unsigned long IWRRD:3;\r
+            unsigned long IWRWS:3;\r
+            unsigned long IWRWD:3;\r
+            unsigned long IWW:3;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } CS0BCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :9;\r
+            unsigned long BSZ:2;\r
+            unsigned long :1;\r
+            unsigned long TYPE:3;\r
+            unsigned long :1;\r
+            unsigned long IWRRS:3;\r
+            unsigned long IWRRD:3;\r
+            unsigned long IWRWS:3;\r
+            unsigned long IWRWD:3;\r
+            unsigned long IWW:3;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } CS1BCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :9;\r
+            unsigned long BSZ:2;\r
+            unsigned long :1;\r
+            unsigned long TYPE:3;\r
+            unsigned long :1;\r
+            unsigned long IWRRS:3;\r
+            unsigned long IWRRD:3;\r
+            unsigned long IWRWS:3;\r
+            unsigned long IWRWD:3;\r
+            unsigned long IWW:3;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } CS2BCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :9;\r
+            unsigned long BSZ:2;\r
+            unsigned long :1;\r
+            unsigned long TYPE:3;\r
+            unsigned long :1;\r
+            unsigned long IWRRS:3;\r
+            unsigned long IWRRD:3;\r
+            unsigned long IWRWS:3;\r
+            unsigned long IWRWD:3;\r
+            unsigned long IWW:3;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } CS3BCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :9;\r
+            unsigned long BSZ:2;\r
+            unsigned long :1;\r
+            unsigned long TYPE:3;\r
+            unsigned long :1;\r
+            unsigned long IWRRS:3;\r
+            unsigned long IWRRD:3;\r
+            unsigned long IWRWS:3;\r
+            unsigned long IWRWD:3;\r
+            unsigned long IWW:3;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } CS4BCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :9;\r
+            unsigned long BSZ:2;\r
+            unsigned long :1;\r
+            unsigned long TYPE:3;\r
+            unsigned long :1;\r
+            unsigned long IWRRS:3;\r
+            unsigned long IWRRD:3;\r
+            unsigned long IWRWS:3;\r
+            unsigned long IWRWD:3;\r
+            unsigned long IWW:3;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } CS5BCR;\r
+    char           wk0[12];\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long HW:2;\r
+                unsigned long :4;\r
+                unsigned long WM:1;\r
+                unsigned long WR:4;\r
+                unsigned long SW:2;\r
+                unsigned long :7;\r
+                unsigned long BAS:1;\r
+                unsigned long :11;\r
+            } BIT;\r
+        } CS0WCR_0;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long :6;\r
+                unsigned long WM:1;\r
+                unsigned long W:4;\r
+                unsigned long :5;\r
+                unsigned long BW:2;\r
+                unsigned long :2;\r
+                unsigned long BST:2;\r
+                unsigned long :10;\r
+            } BIT;\r
+        } CS0WCR_1;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long :6;\r
+                unsigned long WM:1;\r
+                unsigned long W:4;\r
+                unsigned long :5;\r
+                unsigned long BW:2;\r
+                unsigned long :14;\r
+            } BIT;\r
+        } CS0WCR_2;\r
+    } CS0WCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long HW:2;\r
+            unsigned long :4;\r
+            unsigned long WM:1;\r
+            unsigned long WR:4;\r
+            unsigned long SW:2;\r
+            unsigned long :3;\r
+            unsigned long WW:3;\r
+            unsigned long :1;\r
+            unsigned long BAS:1;\r
+            unsigned long :11;\r
+        } BIT;\r
+    } CS1WCR;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long :6;\r
+                unsigned long WM:1;\r
+                unsigned long WR:4;\r
+                unsigned long :9;\r
+                unsigned long BAS:1;\r
+                unsigned long :11;\r
+            } BIT;\r
+        } CS2WCR_0;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long :7;\r
+                unsigned long A2CL:2;\r
+                unsigned long :23;\r
+            } BIT;\r
+        } CS2WCR_1;\r
+    } CS2WCR;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long :6;\r
+                unsigned long WM:1;\r
+                unsigned long WR:4;\r
+                unsigned long :9;\r
+                unsigned long BAS:1;\r
+                unsigned long :11;\r
+            } BIT;\r
+        } CS3WCR_0;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WTRC:2;\r
+                unsigned long :1;\r
+                unsigned long TRWL:2;\r
+                unsigned long :2;\r
+                unsigned long A3CL:2;\r
+                unsigned long :1;\r
+                unsigned long WTRCD:2;\r
+                unsigned long :1;\r
+                unsigned long WTRP:2;\r
+                unsigned long :17;\r
+            } BIT;\r
+        } CS3WCR_1;\r
+    } CS3WCR;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long HW:2;\r
+                unsigned long :4;\r
+                unsigned long WM:1;\r
+                unsigned long WR:4;\r
+                unsigned long SW:2;\r
+                unsigned long :3;\r
+                unsigned long WW:3;\r
+                unsigned long :1;\r
+                unsigned long BAS:1;\r
+                unsigned long :11;\r
+            } BIT;\r
+        } CS4WCR_0;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long HW:2;\r
+                unsigned long :4;\r
+                unsigned long WM:1;\r
+                unsigned long W:4;\r
+                unsigned long SW:2;\r
+                unsigned long :3;\r
+                unsigned long BW:2;\r
+                unsigned long :2;\r
+                unsigned long BST:2;\r
+                unsigned long :10;\r
+            } BIT;\r
+        } CS4WCR_1;\r
+    } CS4WCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long HW:2;\r
+            unsigned long :4;\r
+            unsigned long WM:1;\r
+            unsigned long WR:4;\r
+            unsigned long SW:2;\r
+            unsigned long :3;\r
+            unsigned long WW:3;\r
+            unsigned long :1;\r
+            unsigned long MPXWBAS:1;\r
+            unsigned long SZSEL:1;\r
+            unsigned long :10;\r
+        } BIT;\r
+    } CS5WCR;\r
+    char           wk1[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long A3COL:2;\r
+            unsigned long :1;\r
+            unsigned long A3ROW:2;\r
+            unsigned long :3;\r
+            unsigned long BACTV:1;\r
+            unsigned long PDOWN:1;\r
+            unsigned long RMODE:1;\r
+            unsigned long RFSH:1;\r
+            unsigned long :1;\r
+            unsigned long DEEP:1;\r
+            unsigned long :2;\r
+            unsigned long A2COL:2;\r
+            unsigned long :1;\r
+            unsigned long A2ROW:2;\r
+            unsigned long :11;\r
+        } BIT;\r
+    } SDCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } RTCSR;\r
+    unsigned long  RTCNT;\r
+    unsigned long  RTCOR;\r
+    char           wk2[4];\r
+    unsigned long  TOSCOR0;\r
+    unsigned long  TOSCOR1;\r
+    unsigned long  TOSCOR2;\r
+    unsigned long  TOSCOR3;\r
+    unsigned long  TOSCOR4;\r
+    unsigned long  TOSCOR5;\r
+    char           wk3[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CS0TOSTF:1;\r
+            unsigned long CS1TOSTF:1;\r
+            unsigned long CS2TOSTF:1;\r
+            unsigned long CS3TOSTF:1;\r
+            unsigned long CS4TOSTF:1;\r
+            unsigned long CS5TOSTF:1;\r
+            unsigned long :26;\r
+        } BIT;\r
+    } TOSTR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CS0TOEN:1;\r
+            unsigned long CS1TOEN:1;\r
+            unsigned long CS2TOEN:1;\r
+            unsigned long CS3TOEN:1;\r
+            unsigned long CS4TOEN:1;\r
+            unsigned long CS5TOEN:1;\r
+            unsigned long :26;\r
+        } BIT;\r
+    } TOENR;\r
+    char           wk4[2948];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } CKIOSET;\r
+    char           wk5[236];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } CKIOKEY;\r
+};\r
+\r
+struct st_clma0\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } CLMA0CTL0;\r
+    char           wk0[7];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CLMAnCMPL:12;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } CLMA0CMPL;\r
+    char           wk1[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CLMAnCMPH:12;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } CLMA0CMPH;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } CLMA0PCMD;\r
+    char           wk3[3];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CLMAnPRERR:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } CLMA0PS;\r
+};\r
+\r
+struct st_clma1\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } CLMA1CTL0;\r
+    char           wk0[7];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CLMAnCMPL:12;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } CLMA1CMPL;\r
+    char           wk1[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CLMAnCMPH:12;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } CLMA1CMPH;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } CLMA1PCMD;\r
+    char           wk3[3];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CLMAnPRERR:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } CLMA1PS;\r
+};\r
+\r
+struct st_clma2\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } CLMA2CTL0;\r
+    char           wk0[7];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CLMAnCMPL:12;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } CLMA2CMPL;\r
+    char           wk1[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CLMAnCMPH:12;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } CLMA2CMPH;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } CLMA2PCMD;\r
+    char           wk3[3];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CLMAnPRERR:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } CLMA2PS;\r
+};\r
+\r
+struct st_cmt\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short STR0:1;\r
+            unsigned short STR1:1;\r
+            unsigned short :14;\r
+        } BIT;\r
+    } CMSTR0;\r
+    char           wk0[30];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short STR2:1;\r
+            unsigned short STR3:1;\r
+            unsigned short :14;\r
+        } BIT;\r
+    } CMSTR1;\r
+    char           wk1[30];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short STR4:1;\r
+            unsigned short STR5:1;\r
+            unsigned short :14;\r
+        } BIT;\r
+    } CMSTR2;\r
+};\r
+\r
+struct st_cmt0\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CKS:2;\r
+            unsigned short :4;\r
+            unsigned short CMIE:1;\r
+            unsigned short :9;\r
+        } BIT;\r
+    } CMCR;\r
+    unsigned short CMCNT;\r
+    unsigned short CMCOR;\r
+};\r
+\r
+struct st_cmtw\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NF0EN:1;\r
+            unsigned long NF1EN:1;\r
+            unsigned long NFCS0:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } NFCR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NF2EN:1;\r
+            unsigned long NF3EN:1;\r
+            unsigned long NFCS1:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } NFCR1;\r
+    char           wk0[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DMERSL:3;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } ECDMESLR;\r
+};\r
+\r
+struct st_cmtw0\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short STR:1;\r
+            unsigned short :15;\r
+        } BIT;\r
+    } CMWSTR;\r
+    char           wk0[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CKS:2;\r
+            unsigned short :1;\r
+            unsigned short CMWIE:1;\r
+            unsigned short IC0IE:1;\r
+            unsigned short IC1IE:1;\r
+            unsigned short OC0IE:1;\r
+            unsigned short OC1IE:1;\r
+            unsigned short :1;\r
+            unsigned short CMS:1;\r
+            unsigned short :3;\r
+            unsigned short CCLR:3;\r
+        } BIT;\r
+    } CMWCR;\r
+    char           wk1[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short IC0:2;\r
+            unsigned short IC1:2;\r
+            unsigned short IC0E:1;\r
+            unsigned short IC1E:1;\r
+            unsigned short :2;\r
+            unsigned short OC0:2;\r
+            unsigned short OC1:2;\r
+            unsigned short OC0E:1;\r
+            unsigned short OC1E:1;\r
+            unsigned short :1;\r
+            unsigned short CMWE:1;\r
+        } BIT;\r
+    } CMWIOR;\r
+    char           wk2[6];\r
+    unsigned long  CMWCNT;\r
+    unsigned long  CMWCOR;\r
+    unsigned long  CMWICR0;\r
+    unsigned long  CMWICR1;\r
+    unsigned long  CMWOCR0;\r
+    unsigned long  CMWOCR1;\r
+};\r
+\r
+struct st_crc\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCRA0CIN:32;\r
+        } BIT;\r
+    } CRCDIR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCRA0COUT:32;\r
+        } BIT;\r
+    } CRCDOR;\r
+    char           wk0[24];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char DCRA0POL:2;\r
+            unsigned char :2;\r
+            unsigned char DCRA0ISZ:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } CRCCR;\r
+};\r
+\r
+struct st_dma0\r
+{\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_0_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_0_W;\r
+    } N0SA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_0;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_0_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_0_W;\r
+    } N1SA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_0;\r
+    char           wk0[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_0;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_1_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_1_W;\r
+    } N0SA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_1;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_1_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_1_W;\r
+    } N1SA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_1;\r
+    char           wk1[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_1;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_2_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_2_W;\r
+    } N0SA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_2;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_2_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_2_W;\r
+    } N1SA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_2;\r
+    char           wk2[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_2;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_3_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_3_W;\r
+    } N0SA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_3;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_3_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_3_W;\r
+    } N1SA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_3;\r
+    char           wk3[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_3;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_4_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_4_W;\r
+    } N0SA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_4;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_4_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_4_W;\r
+    } N1SA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_4;\r
+    char           wk4[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_4;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_5_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_5_W;\r
+    } N0SA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_5;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_5_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_5_W;\r
+    } N1SA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_5;\r
+    char           wk5[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_5;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_6_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_6_W;\r
+    } N0SA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_6;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_6_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_6_W;\r
+    } N1SA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_6;\r
+    char           wk6[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_6;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_7_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_7_W;\r
+    } N0SA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_7;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_7_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_7_W;\r
+    } N1SA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_7;\r
+    char           wk7[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_0;\r
+    char           wk8[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_1;\r
+    char           wk9[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_2;\r
+    char           wk10[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_3;\r
+    char           wk11[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_4;\r
+    char           wk12[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_5;\r
+    char           wk13[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_6;\r
+    char           wk14[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_7;\r
+    char           wk15[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PR:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } DMAC0_DCTRL_A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long DITVL:8;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_DSCITVL_A;\r
+    char           wk16[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN08:1;\r
+            unsigned long EN19:1;\r
+            unsigned long EN210:1;\r
+            unsigned long EN311:1;\r
+            unsigned long EN412:1;\r
+            unsigned long EN513:1;\r
+            unsigned long EN614:1;\r
+            unsigned long EN715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC0_DST_EN_A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ER08:1;\r
+            unsigned long ER19:1;\r
+            unsigned long ER210:1;\r
+            unsigned long ER311:1;\r
+            unsigned long ER412:1;\r
+            unsigned long ER513:1;\r
+            unsigned long ER614:1;\r
+            unsigned long ER715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC0_DST_ER_A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long END08:1;\r
+            unsigned long END19:1;\r
+            unsigned long END210:1;\r
+            unsigned long END311:1;\r
+            unsigned long END412:1;\r
+            unsigned long END513:1;\r
+            unsigned long END614:1;\r
+            unsigned long END715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC0_DST_END_A;\r
+    char           wk17[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SUS08:1;\r
+            unsigned long SUS19:1;\r
+            unsigned long SUS210:1;\r
+            unsigned long SUS311:1;\r
+            unsigned long SUS412:1;\r
+            unsigned long SUS513:1;\r
+            unsigned long SUS614:1;\r
+            unsigned long SUS715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC0_DST_SUS_A;\r
+    char           wk18[220];\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_8_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_8_W;\r
+    } N0SA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_8;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_8_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_8_W;\r
+    } N1SA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_8;\r
+    char           wk19[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_8;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_9_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_9_W;\r
+    } N0SA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_9;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_9_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_9_W;\r
+    } N1SA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_9;\r
+    char           wk20[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_9;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_10_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_10_W;\r
+    } N0SA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_10;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_10_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_10_W;\r
+    } N1SA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_10;\r
+    char           wk21[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_10;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_11_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_11_W;\r
+    } N0SA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_11;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_11_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_11_W;\r
+    } N1SA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_11;\r
+    char           wk22[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_11;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_12_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_12_W;\r
+    } N0SA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_12;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_12_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_12_W;\r
+    } N1SA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_12;\r
+    char           wk23[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_12;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_13_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_13_W;\r
+    } N0SA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_13;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_13_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_13_W;\r
+    } N1SA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_13;\r
+    char           wk24[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_13;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_14_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_14_W;\r
+    } N0SA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_14;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_14_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_14_W;\r
+    } N1SA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_14;\r
+    char           wk25[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_14;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_15_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N0SA_15_W;\r
+    } N0SA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N0DA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N0TB_15;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_15_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC0_N1SA_15_W;\r
+    } N1SA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC0_N1DA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC0_N1TB_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC0_CRSA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC0_CRDA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC0_CRTB_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC0_CHSTAT_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC0_CHCTRL_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC0_CHCFG_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_CHITVL_15;\r
+    char           wk26[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC0_NXLA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC0_CRLA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_8;\r
+    char           wk27[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_9;\r
+    char           wk28[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_10;\r
+    char           wk29[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_11;\r
+    char           wk30[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_12;\r
+    char           wk31[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_13;\r
+    char           wk32[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_14;\r
+    char           wk33[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC0_SCNT_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC0_SSKP_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC0_DCNT_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC0_DSKP_15;\r
+    char           wk34[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PR:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } DMAC0_DCTRL_B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long DITVL:8;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC0_DSCITVL_B;\r
+    char           wk35[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN08:1;\r
+            unsigned long EN19:1;\r
+            unsigned long EN210:1;\r
+            unsigned long EN311:1;\r
+            unsigned long EN412:1;\r
+            unsigned long EN513:1;\r
+            unsigned long EN614:1;\r
+            unsigned long EN715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC0_DST_EN_B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ER08:1;\r
+            unsigned long ER19:1;\r
+            unsigned long ER210:1;\r
+            unsigned long ER311:1;\r
+            unsigned long ER412:1;\r
+            unsigned long ER513:1;\r
+            unsigned long ER614:1;\r
+            unsigned long ER715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC0_DST_ER_B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long END08:1;\r
+            unsigned long END19:1;\r
+            unsigned long END210:1;\r
+            unsigned long END311:1;\r
+            unsigned long END412:1;\r
+            unsigned long END513:1;\r
+            unsigned long END614:1;\r
+            unsigned long END715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC0_DST_END_B;\r
+    char           wk36[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SUS08:1;\r
+            unsigned long SUS19:1;\r
+            unsigned long SUS210:1;\r
+            unsigned long SUS311:1;\r
+            unsigned long SUS412:1;\r
+            unsigned long SUS513:1;\r
+            unsigned long SUS614:1;\r
+            unsigned long SUS715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC0_DST_SUS_B;\r
+    char           wk37[202972];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC0:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA0SEL15;\r
+};\r
+\r
+struct st_dma1\r
+{\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_0_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_0_W;\r
+    } N0SA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_0;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_0_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_0_W;\r
+    } N1SA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_0;\r
+    char           wk0[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_0;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_1_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_1_W;\r
+    } N0SA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_1;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_1_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_1_W;\r
+    } N1SA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_1;\r
+    char           wk1[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_1;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_2_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_2_W;\r
+    } N0SA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_2;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_2_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_2_W;\r
+    } N1SA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_2;\r
+    char           wk2[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_2;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_3_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_3_W;\r
+    } N0SA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_3;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_3_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_3_W;\r
+    } N1SA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_3;\r
+    char           wk3[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_3;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_4_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_4_W;\r
+    } N0SA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_4;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_4_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_4_W;\r
+    } N1SA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_4;\r
+    char           wk4[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_4;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_5_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_5_W;\r
+    } N0SA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_5;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_5_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_5_W;\r
+    } N1SA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_5;\r
+    char           wk5[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_5;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_6_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_6_W;\r
+    } N0SA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_6;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_6_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_6_W;\r
+    } N1SA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_6;\r
+    char           wk6[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_6;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_7_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_7_W;\r
+    } N0SA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_7;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_7_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_7_W;\r
+    } N1SA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_7;\r
+    char           wk7[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_0;\r
+    char           wk8[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_1;\r
+    char           wk9[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_2;\r
+    char           wk10[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_3;\r
+    char           wk11[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_4;\r
+    char           wk12[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_5;\r
+    char           wk13[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_6;\r
+    char           wk14[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_7;\r
+    char           wk15[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PR:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } DMAC1_DCTRL_A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long DITVL:8;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_DSCITVL_A;\r
+    char           wk16[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN08:1;\r
+            unsigned long EN19:1;\r
+            unsigned long EN210:1;\r
+            unsigned long EN311:1;\r
+            unsigned long EN412:1;\r
+            unsigned long EN513:1;\r
+            unsigned long EN614:1;\r
+            unsigned long EN715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC1_DST_EN_A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ER08:1;\r
+            unsigned long ER19:1;\r
+            unsigned long ER210:1;\r
+            unsigned long ER311:1;\r
+            unsigned long ER412:1;\r
+            unsigned long ER513:1;\r
+            unsigned long ER614:1;\r
+            unsigned long ER715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC1_DST_ER_A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long END08:1;\r
+            unsigned long END19:1;\r
+            unsigned long END210:1;\r
+            unsigned long END311:1;\r
+            unsigned long END412:1;\r
+            unsigned long END513:1;\r
+            unsigned long END614:1;\r
+            unsigned long END715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC1_DST_END_A;\r
+    char           wk17[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SUS08:1;\r
+            unsigned long SUS19:1;\r
+            unsigned long SUS210:1;\r
+            unsigned long SUS311:1;\r
+            unsigned long SUS412:1;\r
+            unsigned long SUS513:1;\r
+            unsigned long SUS614:1;\r
+            unsigned long SUS715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC1_DST_SUS_A;\r
+    char           wk18[220];\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_8_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_8_W;\r
+    } N0SA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_8;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_8_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_8_W;\r
+    } N1SA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_8;\r
+    char           wk19[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_8;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_9_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_9_W;\r
+    } N0SA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_9;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_9_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_9_W;\r
+    } N1SA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_9;\r
+    char           wk20[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_9;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_10_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_10_W;\r
+    } N0SA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_10;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_10_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_10_W;\r
+    } N1SA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_10;\r
+    char           wk21[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_10;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_11_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_11_W;\r
+    } N0SA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_11;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_11_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_11_W;\r
+    } N1SA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_11;\r
+    char           wk22[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_11;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_12_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_12_W;\r
+    } N0SA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_12;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_12_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_12_W;\r
+    } N1SA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_12;\r
+    char           wk23[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_12;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_13_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_13_W;\r
+    } N0SA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_13;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_13_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_13_W;\r
+    } N1SA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_13;\r
+    char           wk24[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_13;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_14_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_14_W;\r
+    } N0SA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_14;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_14_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_14_W;\r
+    } N1SA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_14;\r
+    char           wk25[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_14;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_15_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N0SA_15_W;\r
+    } N0SA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N0DA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N0TB_15;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SA:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_15_N;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long WD:32;\r
+            } BIT;\r
+        } DMAC1_N1SA_15_W;\r
+    } N1SA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DA:32;\r
+        } BIT;\r
+    } DMAC1_N1DA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TB:32;\r
+        } BIT;\r
+    } DMAC1_N1TB_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRSA:32;\r
+        } BIT;\r
+    } DMAC1_CRSA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRDA:32;\r
+        } BIT;\r
+    } DMAC1_CRDA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRTB:32;\r
+        } BIT;\r
+    } DMAC1_CRTB_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN:1;\r
+            unsigned long RQST:1;\r
+            unsigned long TACT:1;\r
+            unsigned long SUS:1;\r
+            unsigned long ER:1;\r
+            unsigned long END:1;\r
+            unsigned long :1;\r
+            unsigned long SR:1;\r
+            unsigned long DL:1;\r
+            unsigned long DW:1;\r
+            unsigned long DER:1;\r
+            unsigned long MODE:1;\r
+            unsigned long :4;\r
+            unsigned long INTM:1;\r
+            unsigned long DMARQM:1;\r
+            unsigned long SWPRQ:1;\r
+            unsigned long :5;\r
+            unsigned long DNUM:8;\r
+        } BIT;\r
+    } DMAC1_CHSTAT_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SETEN:1;\r
+            unsigned long CLREN:1;\r
+            unsigned long :1;\r
+            unsigned long SWRST:1;\r
+            unsigned long CLRRQ:1;\r
+            unsigned long CLREND:1;\r
+            unsigned long :1;\r
+            unsigned long CLRDE:1;\r
+            unsigned long SETSUS:1;\r
+            unsigned long CLRSUS:1;\r
+            unsigned long :2;\r
+            unsigned long SETREN:1;\r
+            unsigned long :1;\r
+            unsigned long SETSSWPRQ:1;\r
+            unsigned long :1;\r
+            unsigned long SETINTM:1;\r
+            unsigned long CLRINTM:1;\r
+            unsigned long SETDMARQM:1;\r
+            unsigned long CLRDMARQM:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } DMAC1_CHCTRL_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEL:3;\r
+            unsigned long REQD:1;\r
+            unsigned long LOEN:1;\r
+            unsigned long HIEN:1;\r
+            unsigned long LVL:1;\r
+            unsigned long :1;\r
+            unsigned long AM:3;\r
+            unsigned long DRRP:1;\r
+            unsigned long SDS:4;\r
+            unsigned long DDS:4;\r
+            unsigned long SAD:1;\r
+            unsigned long DAD:1;\r
+            unsigned long TM:1;\r
+            unsigned long WONLY:1;\r
+            unsigned long DEM:1;\r
+            unsigned long :1;\r
+            unsigned long DIM:1;\r
+            unsigned long SBE:1;\r
+            unsigned long RSEL:1;\r
+            unsigned long RSW:1;\r
+            unsigned long REN:1;\r
+            unsigned long DMS:1;\r
+        } BIT;\r
+    } DMAC1_CHCFG_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ITVL:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_CHITVL_15;\r
+    char           wk26[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NXLA:32;\r
+        } BIT;\r
+    } DMAC1_NXLA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CRLA:32;\r
+        } BIT;\r
+    } DMAC1_CRLA_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_8;\r
+    char           wk27[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_9;\r
+    char           wk28[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_10;\r
+    char           wk29[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_11;\r
+    char           wk30[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_12;\r
+    char           wk31[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_13;\r
+    char           wk32[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_14;\r
+    char           wk33[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCNT:32;\r
+        } BIT;\r
+    } DMAC1_SCNT_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSKP:32;\r
+        } BIT;\r
+    } DMAC1_SSKP_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DCNT:32;\r
+        } BIT;\r
+    } DMAC1_DCNT_15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSKP:32;\r
+        } BIT;\r
+    } DMAC1_DSKP_15;\r
+    char           wk34[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PR:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } DMAC1_DCTRL_B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long DITVL:8;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DMAC1_DSCITVL_B;\r
+    char           wk35[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EN08:1;\r
+            unsigned long EN19:1;\r
+            unsigned long EN210:1;\r
+            unsigned long EN311:1;\r
+            unsigned long EN412:1;\r
+            unsigned long EN513:1;\r
+            unsigned long EN614:1;\r
+            unsigned long EN715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC1_DST_EN_B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ER08:1;\r
+            unsigned long ER19:1;\r
+            unsigned long ER210:1;\r
+            unsigned long ER311:1;\r
+            unsigned long ER412:1;\r
+            unsigned long ER513:1;\r
+            unsigned long ER614:1;\r
+            unsigned long ER715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC1_DST_ER_B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long END08:1;\r
+            unsigned long END19:1;\r
+            unsigned long END210:1;\r
+            unsigned long END311:1;\r
+            unsigned long END412:1;\r
+            unsigned long END513:1;\r
+            unsigned long END614:1;\r
+            unsigned long END715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC1_DST_END_B;\r
+    char           wk36[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SUS08:1;\r
+            unsigned long SUS19:1;\r
+            unsigned long SUS210:1;\r
+            unsigned long SUS311:1;\r
+            unsigned long SUS412:1;\r
+            unsigned long SUS513:1;\r
+            unsigned long SUS614:1;\r
+            unsigned long SUS715:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMAC1_DST_SUS_B;\r
+    char           wk37[198940];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IFC1:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } DMA1SEL15;\r
+};\r
+\r
+struct st_dmac\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :9;\r
+            unsigned long DPRTY:2;\r
+            unsigned long :13;\r
+            unsigned long AL0:1;\r
+            unsigned long AL1:1;\r
+            unsigned long AL2:1;\r
+            unsigned long :1;\r
+            unsigned long TL0:1;\r
+            unsigned long TL1:1;\r
+            unsigned long TL2:1;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } CMNCR;\r
+    char           wk0[598140];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DMREQ0:1;\r
+            unsigned long DMREQ1:1;\r
+            unsigned long :30;\r
+        } BIT;\r
+    } DMASTG;\r
+};\r
+\r
+struct st_doc\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char OMS:2;\r
+            unsigned char DCSEL:1;\r
+            unsigned char :1;\r
+            unsigned char DOPCIE:1;\r
+            unsigned char DOPCF:1;\r
+            unsigned char DOPCFCL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } DOCR;\r
+    char           wk0[1];\r
+    unsigned short DODIR;\r
+    unsigned short DODSR;\r
+};\r
+\r
+struct st_dsmif\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ENABLE:1;\r
+            unsigned long :7;\r
+            unsigned long SINC1SEL:2;\r
+            unsigned long :2;\r
+            unsigned long WORD1GEN:3;\r
+            unsigned long :1;\r
+            unsigned long BITSHIFT1:4;\r
+            unsigned long SINC2SEL:2;\r
+            unsigned long :2;\r
+            unsigned long WORD2GEN:3;\r
+            unsigned long :1;\r
+            unsigned long BITSHIFT2:4;\r
+        } BIT;\r
+    } UVWCTL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ERUI:1;\r
+            unsigned long ERVI:1;\r
+            unsigned long ERWI:1;\r
+            unsigned long :1;\r
+            unsigned long ERUSC:1;\r
+            unsigned long ERVSC:1;\r
+            unsigned long ERWSC:1;\r
+            unsigned long :1;\r
+            unsigned long ERUVWIGND:1;\r
+            unsigned long :23;\r
+        } BIT;\r
+    } UVWSTA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CMPUVWIUNDER:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } UVWIUNCMP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CMPUVWIOVER:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } UVWIOVCMP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CMPUVWSCUNDER:13;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } UVWSCUNCMP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CMPUVWSCOVER:13;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } UVWSCOVCMP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CMPUVWIGNDUNDER:18;\r
+            unsigned long :14;\r
+        } BIT;\r
+    } UVWIGUNCMP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CMPUVWIGNDOVER:18;\r
+            unsigned long :14;\r
+        } BIT;\r
+    } UVWIGOVCMP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long U1DATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } U1DATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long U1CDATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } U1CDATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long U1VDATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } U1VDATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long U2DATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } U2DATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long V1DATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } V1DATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long V1CDATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } V1CDATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long V1VDATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } V1VDATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long V2DATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } V2DATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long W1DATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } W1DATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long W1CDATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } W1CDATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long W1VDATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } W1VDATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long W2DATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } W2DATA;\r
+    char           wk0[48];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ENABLE:1;\r
+            unsigned long :7;\r
+            unsigned long SINC1SEL:2;\r
+            unsigned long :2;\r
+            unsigned long WORD1GEN:3;\r
+            unsigned long :1;\r
+            unsigned long BITSHIFT1:4;\r
+            unsigned long SINC2SEL:2;\r
+            unsigned long :2;\r
+            unsigned long WORD2GEN:3;\r
+            unsigned long :1;\r
+            unsigned long BITSHIFT2:4;\r
+        } BIT;\r
+    } XYZCTL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ERXI:1;\r
+            unsigned long :3;\r
+            unsigned long ERXSC:1;\r
+            unsigned long :27;\r
+        } BIT;\r
+    } XYZSTA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CMPXIUNDER:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } XYZIUNCMP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CMPXIOVER:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } XYZIOVCMP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CMPXSCUNDER:13;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } XYZSCUNCMP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CMPXSCOVER:13;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } XYZSCOVCMP;\r
+    char           wk1[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long X1DATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } X1DATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long X1CDATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } X1CDATA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long X1VDATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } X1VDATA;\r
+    char           wk2[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long X2DATA:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } X2DATA;\r
+};\r
+\r
+struct st_ecatc\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long OADD0:1;\r
+            unsigned long OADD1:1;\r
+            unsigned long OADD2:1;\r
+            unsigned long OADD3:1;\r
+            unsigned long OADD4:1;\r
+            unsigned long :27;\r
+        } BIT;\r
+    } CATOFFADD;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long I2CSIZE:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } CATEMMD;\r
+    char           wk0[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TXSFT00:1;\r
+            unsigned long TXSFT01:1;\r
+            unsigned long TXSFT10:1;\r
+            unsigned long TXSFT11:1;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } CATTXCSFT;\r
+    char           wk1[69360];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TYPE:8;\r
+        } BIT;\r
+    } TYPE;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char REV:8;\r
+        } BIT;\r
+    } REVISION;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short BUILD:16;\r
+        } BIT;\r
+    } BUILD;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NUMFMMU:8;\r
+        } BIT;\r
+    } FMMU_NUM;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NUMSYNC:8;\r
+        } BIT;\r
+    } SYNC_MANAGER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char RAMSIZE:8;\r
+        } BIT;\r
+    } RAM_SIZE;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char P0:2;\r
+            unsigned char P1:2;\r
+            unsigned char P2:2;\r
+            unsigned char P3:2;\r
+        } BIT;\r
+    } PORT_DESC;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short FMMU:1;\r
+            unsigned short :1;\r
+            unsigned short DC:1;\r
+            unsigned short DCWID:1;\r
+            unsigned short :2;\r
+            unsigned short LINKDECMII:1;\r
+            unsigned short FCS:1;\r
+            unsigned short DCSYNC:1;\r
+            unsigned short LRW:1;\r
+            unsigned short RWSUPP:1;\r
+            unsigned short FSCONFIG:1;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } FEATURE;\r
+    char           wk2[6];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short NODADDR:16;\r
+        } BIT;\r
+    } STATION_ADR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short NODALIADDR:16;\r
+        } BIT;\r
+    } STATION_ALIAS;\r
+    char           wk3[12];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ENABLE:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } WR_REG_ENABLE;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PROTECT:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } WR_REG_PROTECT;\r
+    char           wk4[14];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ENABLE:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } ESC_WR_ENABLE;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PROTECT:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } ESC_WR_PROTECT;\r
+    char           wk5[14];\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+        } ESC_RESET_ECAT_W;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+        } ESC_RESET_ECAT_R;\r
+    } RESET_ECAT;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+        } ESC_RESET_PDI_W;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+        } ESC_RESET_PDI_R;\r
+    } RESET_PDI;\r
+    char           wk6[190];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FWDRULE:1;\r
+            unsigned long TEMPUSE:1;\r
+            unsigned long :6;\r
+            unsigned long LP0:2;\r
+            unsigned long LP1:2;\r
+            unsigned long LP2:2;\r
+            unsigned long LP3:2;\r
+            unsigned long RXFIFO:3;\r
+            unsigned long :5;\r
+            unsigned long STAALIAS:1;\r
+            unsigned long :7;\r
+        } BIT;\r
+    } ESC_DL_CONTROL;\r
+    char           wk7[4];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short RWOFFSET:16;\r
+        } BIT;\r
+    } PHYSICAL_RW_OFFSET;\r
+    char           wk8[6];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PDIOPE:1;\r
+            unsigned short PDIWDST:1;\r
+            unsigned short ENHLINKD:1;\r
+            unsigned short :1;\r
+            unsigned short PHYP0:1;\r
+            unsigned short PHYP1:1;\r
+            unsigned short PHYP2:1;\r
+            unsigned short PHYP3:1;\r
+            unsigned short LP0:1;\r
+            unsigned short COMP0:1;\r
+            unsigned short LP1:1;\r
+            unsigned short COMP1:1;\r
+            unsigned short LP2:1;\r
+            unsigned short COMP2:1;\r
+            unsigned short LP3:1;\r
+            unsigned short COMP3:1;\r
+        } BIT;\r
+    } ESC_DL_STATUS;\r
+    char           wk9[14];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short INISTATE:4;\r
+            unsigned short ERRINDACK:1;\r
+            unsigned short :11;\r
+        } BIT;\r
+    } AL_CONTROL;\r
+    char           wk10[14];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ACTSTATE:4;\r
+            unsigned short ERR:1;\r
+            unsigned short :11;\r
+        } BIT;\r
+    } AL_STATUS;\r
+    char           wk11[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short STATUSCODE:16;\r
+        } BIT;\r
+    } AL_STATUS_CODE;\r
+    char           wk12[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char LEDCODE:4;\r
+            unsigned char OVERRIDEEN:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RUN_LED_OVERRIDE;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char LEDCODE:4;\r
+            unsigned char OVERRIDEEN:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } ERR_LED_OVERRIDE;\r
+    char           wk13[6];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PDI:8;\r
+        } BIT;\r
+    } PDI_CONTROL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char DEVEMU:1;\r
+            unsigned char ENLALLP:1;\r
+            unsigned char DCSYNC:1;\r
+            unsigned char DCLATCH:1;\r
+            unsigned char ENLP0:1;\r
+            unsigned char ENLP1:1;\r
+            unsigned char ENLP2:1;\r
+            unsigned char ENLP3:1;\r
+        } BIT;\r
+    } ESC_CONFIG;\r
+    char           wk14[14];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ONCHIPBUSCLK:5;\r
+            unsigned char ONCHIPBUS:3;\r
+        } BIT;\r
+    } PDI_CONFIG;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SYNC0OUT:2;\r
+            unsigned char SYNCLAT0:1;\r
+            unsigned char SYNC0MAP:1;\r
+            unsigned char :1;\r
+            unsigned char SYNC1OUT:1;\r
+            unsigned char SYNCLAT1:1;\r
+            unsigned char SYNC1MAP:1;\r
+        } BIT;\r
+    } SYNC_LATCH_CONFIG;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short DATABUSWID:1;\r
+            unsigned short :15;\r
+        } BIT;\r
+    } EXT_PDI_CONFIG;\r
+    char           wk15[172];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ECATEVMASK:16;\r
+        } BIT;\r
+    } ECAT_EVENT_MASK;\r
+    char           wk16[2];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ALEVMASK:32;\r
+        } BIT;\r
+    } AL_EVENT_MASK;\r
+    char           wk17[8];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short DCLATCH:1;\r
+            unsigned short :1;\r
+            unsigned short DLSTA:1;\r
+            unsigned short ALSTA:1;\r
+            unsigned short SMSTA0:1;\r
+            unsigned short SMSTA1:1;\r
+            unsigned short SMSTA2:1;\r
+            unsigned short SMSTA3:1;\r
+            unsigned short SMSTA4:1;\r
+            unsigned short SMSTA5:1;\r
+            unsigned short SMSTA6:1;\r
+            unsigned short SMSTA7:1;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } ECAT_EVENT_REQ;\r
+    char           wk18[14];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ALCTRL:1;\r
+            unsigned long DCLATCH:1;\r
+            unsigned long DCSYNC0STA:1;\r
+            unsigned long DCSYNC1STA:1;\r
+            unsigned long SYNCACT:1;\r
+            unsigned long :1;\r
+            unsigned long WDPD:1;\r
+            unsigned long :1;\r
+            unsigned long SMINT0:1;\r
+            unsigned long SMINT1:1;\r
+            unsigned long SMINT2:1;\r
+            unsigned long SMINT3:1;\r
+            unsigned long SMINT4:1;\r
+            unsigned long SMINT5:1;\r
+            unsigned long SMINT6:1;\r
+            unsigned long SMINT7:1;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } AL_EVENT_REQ;\r
+    char           wk19[220];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short RXERRCNT:16;\r
+        } BIT;\r
+    } RX_ERR_COUNT0;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short RXERRCNT:16;\r
+        } BIT;\r
+    } RX_ERR_COUNT1;\r
+    char           wk20[4];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char FWDERRCNT:8;\r
+        } BIT;\r
+    } FWD_RX_ERR_COUNT0;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char FWDERRCNT:8;\r
+        } BIT;\r
+    } FWD_RX_ERR_COUNT1;\r
+    char           wk21[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char EPUERRCNT:8;\r
+        } BIT;\r
+    } ECAT_PROC_ERR_COUNT;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PDIERRCNT:8;\r
+        } BIT;\r
+    } PDI_ERR_COUNT;\r
+    char           wk22[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char LOSTLINKCNT:8;\r
+        } BIT;\r
+    } LOST_LINK_COUNT0;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char LOSTLINKCNT:8;\r
+        } BIT;\r
+    } LOST_LINK_COUNT1;\r
+    char           wk23[238];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short WDDIV:16;\r
+        } BIT;\r
+    } WD_DIVIDE;\r
+    char           wk24[14];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short WDTIMPDI:16;\r
+        } BIT;\r
+    } WDT_PDI;\r
+    char           wk25[14];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short WDTIMPD:16;\r
+        } BIT;\r
+    } WDT_DATA;\r
+    char           wk26[30];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short WDSTAPD:1;\r
+            unsigned short :15;\r
+        } BIT;\r
+    } WDS_DATA;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char WDCNTPD:8;\r
+        } BIT;\r
+    } WDC_DATA;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char WDCNTPDI:8;\r
+        } BIT;\r
+    } WDC_PDI;\r
+    char           wk27[188];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CTRLPDI:1;\r
+            unsigned char FORCEECAT:1;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } EEP_CONF;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PDIACCESS:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } EEP_STATE;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ECATWREN:1;\r
+            unsigned short :5;\r
+            unsigned short READBYTE:1;\r
+            unsigned short PROMSIZE:1;\r
+            unsigned short COMMAND:3;\r
+            unsigned short CKSUMERR:1;\r
+            unsigned short LOADSTA:1;\r
+            unsigned short ACKCMDERR:1;\r
+            unsigned short WRENERR:1;\r
+            unsigned short BUSY:1;\r
+        } BIT;\r
+    } EEP_CONT_STAT;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ADDRESS:32;\r
+        } BIT;\r
+    } EEP_ADR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long LODATA:16;\r
+            unsigned long HIDATA:16;\r
+        } BIT;\r
+    } EEP_DATA;\r
+    char           wk28[4];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short WREN:1;\r
+            unsigned short PDICTRL:1;\r
+            unsigned short MILINK:1;\r
+            unsigned short PHYOFFSET:5;\r
+            unsigned short COMMAND:2;\r
+            unsigned short :3;\r
+            unsigned short READERR:1;\r
+            unsigned short CMDERR:1;\r
+            unsigned short BUSY:1;\r
+        } BIT;\r
+    } MII_CONT_STAT;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PHYADDR:5;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } PHY_ADR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PHYREGADDR:5;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } PHY_REG_ADR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PHYREGDATA:16;\r
+        } BIT;\r
+    } PHY_DATA;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ACSMII:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } MII_ECAT_ACS_STAT;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ACSMII:1;\r
+            unsigned char FORPDI:1;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } MII_PDI_ACS_STAT;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PHYLINKSTA:1;\r
+            unsigned char LINKSTA:1;\r
+            unsigned char LINKSTAERR:1;\r
+            unsigned char READERR:1;\r
+            unsigned char LINKPARTERR:1;\r
+            unsigned char PHYCONFIG:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PHY_STATUS0;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PHYLINKSTA:1;\r
+            unsigned char LINKSTA:1;\r
+            unsigned char LINKSTAERR:1;\r
+            unsigned char READERR:1;\r
+            unsigned char LINKPARTERR:1;\r
+            unsigned char PHYCONFIG:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PHY_STATUS1;\r
+    char           wk29[230];\r
+    struct\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long LSTAADR:32;\r
+            } BIT;\r
+        } L_START_ADR;\r
+        union\r
+        {\r
+            unsigned short WORD;\r
+            struct\r
+            {\r
+                unsigned short FMMULEN:16;\r
+            } BIT;\r
+        } LEN;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+            struct\r
+            {\r
+                unsigned char LSTABIT:3;\r
+                unsigned char :5;\r
+            } BIT;\r
+        } L_START_BIT;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+            struct\r
+            {\r
+                unsigned char LSTABIT:3;\r
+                unsigned char :5;\r
+            } BIT;\r
+        } L_STOP_BIT;\r
+        union\r
+        {\r
+            unsigned short WORD;\r
+            struct\r
+            {\r
+                unsigned short PHYSTAADR:16;\r
+            } BIT;\r
+        } P_START_ADR;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+            struct\r
+            {\r
+                unsigned char PHYSTABIT:3;\r
+                unsigned char :5;\r
+            } BIT;\r
+        } P_START_BIT;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+            struct\r
+            {\r
+                unsigned char READ:1;\r
+                unsigned char WRITE:1;\r
+                unsigned char :6;\r
+            } BIT;\r
+        } TYPE;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+            struct\r
+            {\r
+                unsigned char ACTIVATE:1;\r
+                unsigned char :7;\r
+            } BIT;\r
+        } ACT;\r
+        char           fmmu_wk[3];\r
+    } FMMU[8];\r
+    char           wk37[0x180];\r
+    struct\r
+    {\r
+        union\r
+        {\r
+            unsigned short WORD;\r
+            struct\r
+            {\r
+                unsigned short SMSTAADDR:16;\r
+            } BIT;\r
+        } P_START_ADR;\r
+        union\r
+        {\r
+            unsigned short WORD;\r
+            struct\r
+            {\r
+                unsigned short SMLEN:16;\r
+            } BIT;\r
+        } LEN;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+            struct\r
+            {\r
+                unsigned char OPEMODE:2;\r
+                unsigned char DIR:2;\r
+                unsigned char IRQECAT:1;\r
+                unsigned char IRQPDI:1;\r
+                unsigned char WDTRGEN:1;\r
+                unsigned char :1;\r
+            } BIT;\r
+        } CONTROL;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+            struct\r
+            {\r
+                unsigned char INTWR:1;\r
+                unsigned char INTRD:1;\r
+                unsigned char :1;\r
+                unsigned char MAILBOX:1;\r
+                unsigned char BUFFERED:2;\r
+                unsigned char RDBUF:1;\r
+                unsigned char WRBUF:1;\r
+            } BIT;\r
+        } STATUS;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+            struct\r
+            {\r
+                unsigned char SMEN:1;\r
+                unsigned char REPEATREQ:1;\r
+                unsigned char :4;\r
+                unsigned char LATCHECAT:1;\r
+                unsigned char LATCHPDI:1;\r
+            } BIT;\r
+        } ACT;\r
+        union\r
+        {\r
+            unsigned char BYTE;\r
+            struct\r
+            {\r
+                unsigned char DEACTIVE:1;\r
+                unsigned char REPEATACK:1;\r
+                unsigned char :6;\r
+            } BIT;\r
+        } PDI_CONT;\r
+    } SM[8];\r
+    char           wk38[192];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RCVTIME0:32;\r
+        } BIT;\r
+    } DC_RCV_TIME_PORT0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RCVTIME1:32;\r
+        } BIT;\r
+    } DC_RCV_TIME_PORT1;\r
+    char           wk39[8];\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } DC_SYS_TIME;\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } DC_RCV_TIME_UNIT;\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } DC_SYS_TIME_OFFSET;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SYSTIMDLY:32;\r
+        } BIT;\r
+    } DC_SYS_TIME_DELAY;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long LOCALCOPY:1;\r
+            unsigned long DIFF:31;\r
+        } BIT;\r
+    } DC_SYS_TIME_DIFF;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :1;\r
+            unsigned short SPDCNTSTRT:15;\r
+        } BIT;\r
+    } DC_SPEED_COUNT_START;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short SPDCNTDIFF:16;\r
+        } BIT;\r
+    } DC_SPEED_COUNT_DIFF;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :4;\r
+            unsigned char SYSTIMDEP:4;\r
+        } BIT;\r
+    } DC_SYS_TIME_DIFF_FIL_DEPTH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :4;\r
+            unsigned char CLKPERDEP:4;\r
+        } BIT;\r
+    } DC_SPEED_COUNT_FIL_DEPTH;\r
+    char           wk40[74];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :2;\r
+            unsigned char LATCH1:1;\r
+            unsigned char LATCH0:1;\r
+            unsigned char :3;\r
+            unsigned char SYNCOUT:1;\r
+        } BIT;\r
+    } DC_CYC_CONT;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char DBGPULSE:1;\r
+            unsigned char NEARFUTURE:1;\r
+            unsigned char STARTTIME:1;\r
+            unsigned char EXTSTARTTIME:1;\r
+            unsigned char AUTOACT:1;\r
+            unsigned char SYNC1:1;\r
+            unsigned char SYNC0:1;\r
+            unsigned char SYNCACT:1;\r
+        } BIT;\r
+    } DC_ACT;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PULSELEN:16;\r
+        } BIT;\r
+    } DC_PULSE_LEN;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :5;\r
+            unsigned char STARTTIME:1;\r
+            unsigned char SYNC1ACT:1;\r
+            unsigned char SYNC0ACT:1;\r
+        } BIT;\r
+    } DC_ACT_STAT;\r
+    char           wk41[9];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :7;\r
+            unsigned char SYNC0STA:1;\r
+        } BIT;\r
+    } DC_SYNC0_STAT;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :7;\r
+            unsigned char SYNC1STA:1;\r
+        } BIT;\r
+    } DC_SYNC1_STAT;\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } DC_CYC_START_TIME;\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } DC_NEXT_SYNC1_PULSE;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SYNC0CYC:32;\r
+        } BIT;\r
+    } DC_SYNC0_CYC_TIME;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SYNC1CYC:32;\r
+        } BIT;\r
+    } DC_SYNC1_CYC_TIME;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :6;\r
+            unsigned char NEGEDGE:1;\r
+            unsigned char POSEDGE:1;\r
+        } BIT;\r
+    } DC_LATCH0_CONT;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :6;\r
+            unsigned char NEGEDGE:1;\r
+            unsigned char POSEDGE:1;\r
+        } BIT;\r
+    } DC_LATCH1_CONT;\r
+    char           wk42[4];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :5;\r
+            unsigned char PINSTATE:1;\r
+            unsigned char EVENTNEG:1;\r
+            unsigned char EVENTPOS:1;\r
+        } BIT;\r
+    } DC_LATCH0_STAT;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :5;\r
+            unsigned char PINSTATE:1;\r
+            unsigned char EVENTNEG:1;\r
+            unsigned char EVENTPOS:1;\r
+        } BIT;\r
+    } DC_LATCH1_STAT;\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } DC_LATCH0_TIME_POS;\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } DC_LATCH0_TIME_NEG;\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } DC_LATCH1_TIME_POS;\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } DC_LATCH1_TIME_NEG;\r
+    char           wk43[32];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ECATCHANGE:32;\r
+        } BIT;\r
+    } DC_ECAT_CNG_EV_TIME;\r
+    char           wk44[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PDISTART:32;\r
+        } BIT;\r
+    } DC_PDI_START_EV_TIME;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PDICHANGE:32;\r
+        } BIT;\r
+    } DC_PDI_CNG_EV_TIME;\r
+    char           wk45[1024];\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } PRODUCT_ID;\r
+    union\r
+    {\r
+        unsigned long long LONGLONG;\r
+    } VENDOR_ID;\r
+};\r
+\r
+struct st_eccram\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } RAMPCMD;\r
+    char           wk0[252];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :31;\r
+            unsigned long ECC_ENABLE:1;\r
+        } BIT;\r
+    } RAMEDC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :16;\r
+            unsigned long DBE_DIST15:1;\r
+            unsigned long DBE_DIST14:1;\r
+            unsigned long DBE_DIST13:1;\r
+            unsigned long DBE_DIST12:1;\r
+            unsigned long DBE_DIST11:1;\r
+            unsigned long DBE_DIST10:1;\r
+            unsigned long DBE_DIST9:1;\r
+            unsigned long DBE_DIST8:1;\r
+            unsigned long DBE_DIST7:1;\r
+            unsigned long DBE_DIST6:1;\r
+            unsigned long DBE_DIST5:1;\r
+            unsigned long DBE_DIST4:1;\r
+            unsigned long DBE_DIST3:1;\r
+            unsigned long DBE_DIST2:1;\r
+            unsigned long DBE_DIST1:1;\r
+            unsigned long DBE_DIST0:1;\r
+        } BIT;\r
+    } RAMEEC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :16;\r
+            unsigned long DBE_RAM15:1;\r
+            unsigned long DBE_RAM14:1;\r
+            unsigned long DBE_RAM13:1;\r
+            unsigned long DBE_RAM12:1;\r
+            unsigned long DBE_RAM11:1;\r
+            unsigned long DBE_RAM10:1;\r
+            unsigned long DBE_RAM9:1;\r
+            unsigned long DBE_RAM8:1;\r
+            unsigned long DBE_RAM7:1;\r
+            unsigned long DBE_RAM6:1;\r
+            unsigned long DBE_RAM5:1;\r
+            unsigned long DBE_RAM4:1;\r
+            unsigned long DBE_RAM3:1;\r
+            unsigned long DBE_RAM2:1;\r
+            unsigned long DBE_RAM1:1;\r
+            unsigned long DBE_RAM0:1;\r
+        } BIT;\r
+    } RAMDBEST;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :12;\r
+            unsigned long BANK:2;\r
+            unsigned long ADDRESS:16;\r
+            unsigned long :1;\r
+            unsigned long LOCK:1;\r
+        } BIT;\r
+    } RAMDBEAD;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :28;\r
+            unsigned long ERRCOUNT:4;\r
+        } BIT;\r
+    } RAMDBECNT;\r
+};\r
+\r
+struct st_ecm\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } ECMEPCFG;\r
+    char           wk0[3];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMMICFG0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMMICFG1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMMICFG2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMNMICFG0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMNMICFG1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMNMICFG2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMIRCFG0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMIRCFG1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMIRCFG2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMEMK0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMEMK1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMEMK2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMESSTC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMESSTC1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMESSTC2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMPCMD1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ECMPRERR:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } ECMPS;\r
+    char           wk1[3];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMPE0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMPE1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMPE2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } ECMDTMCTL;\r
+    char           wk2[3];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ECMTDMR:16;\r
+        } BIT;\r
+    } ECMDTMR;\r
+    char           wk3[2];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMDTMCMP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMDTMCFG0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMDTMCFG1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMDTMCFG2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMDTMCFG3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMDTMCFG4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMDTMCFG5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ECMEOCCFG;\r
+};\r
+\r
+struct st_ecmc\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } ECMCESET;\r
+    char           wk0[3];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } ECMCECLR;\r
+    char           wk1[3];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ECMCSSE000:1;\r
+            unsigned long ECMCSSE001:1;\r
+            unsigned long ECMCSSE002:1;\r
+            unsigned long :1;\r
+            unsigned long ECMCSSE004:1;\r
+            unsigned long ECMCSSE005:1;\r
+            unsigned long ECMCSSE006:1;\r
+            unsigned long ECMCSSE007:1;\r
+            unsigned long ECMCSSE008:1;\r
+            unsigned long ECMCSSE009:1;\r
+            unsigned long ECMCSSE010:1;\r
+            unsigned long ECMCSSE011:1;\r
+            unsigned long ECMCSSE012:1;\r
+            unsigned long ECMCSSE013:1;\r
+            unsigned long ECMCSSE014:1;\r
+            unsigned long ECMCSSE015:1;\r
+            unsigned long ECMCSSE016:1;\r
+            unsigned long ECMCSSE017:1;\r
+            unsigned long ECMCSSE018:1;\r
+            unsigned long ECMCSSE019:1;\r
+            unsigned long ECMCSSE020:1;\r
+            unsigned long ECMCSSE021:1;\r
+            unsigned long ECMCSSE022:1;\r
+            unsigned long ECMCSSE023:1;\r
+            unsigned long ECMCSSE024:1;\r
+            unsigned long ECMCSSE025:1;\r
+            unsigned long ECMCSSE026:1;\r
+            unsigned long ECMCSSE027:1;\r
+            unsigned long ECMCSSE028:1;\r
+            unsigned long :1;\r
+            unsigned long ECMCSSE030:1;\r
+            unsigned long ECMCSSE031:1;\r
+        } BIT;\r
+    } ECMCESSTR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ECMCSSE100:1;\r
+            unsigned long ECMCSSE101:1;\r
+            unsigned long ECMCSSE202:1;\r
+            unsigned long :1;\r
+            unsigned long ECMCSSE104:1;\r
+            unsigned long ECMCSSE105:1;\r
+            unsigned long ECMCSSE106:1;\r
+            unsigned long ECMCSSE107:1;\r
+            unsigned long ECMCSSE108:1;\r
+            unsigned long :23;\r
+        } BIT;\r
+    } ECMCESSTR1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :28;\r
+            unsigned long ECMCSSE228:1;\r
+            unsigned long ECMCSSE229:1;\r
+            unsigned long ECMCSSE230:1;\r
+            unsigned long ECMCSSE231:1;\r
+        } BIT;\r
+    } ECMCESSTR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ECMC0REG:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } ECMCPCMD0;\r
+};\r
+\r
+struct st_ecmm\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } ECMMESET;\r
+    char           wk0[3];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+    } ECMMECLR;\r
+    char           wk1[3];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ECMMSSE000:1;\r
+            unsigned long ECMMSSE001:1;\r
+            unsigned long ECMMSSE002:1;\r
+            unsigned long :1;\r
+            unsigned long ECMMSSE004:1;\r
+            unsigned long ECMMSSE005:1;\r
+            unsigned long ECMMSSE006:1;\r
+            unsigned long ECMMSSE007:1;\r
+            unsigned long ECMMSSE008:1;\r
+            unsigned long ECMMSSE009:1;\r
+            unsigned long ECMMSSE010:1;\r
+            unsigned long ECMMSSE011:1;\r
+            unsigned long ECMMSSE012:1;\r
+            unsigned long ECMMSSE013:1;\r
+            unsigned long ECMMSSE014:1;\r
+            unsigned long ECMMSSE015:1;\r
+            unsigned long ECMMSSE016:1;\r
+            unsigned long ECMMSSE017:1;\r
+            unsigned long ECMMSSE018:1;\r
+            unsigned long ECMMSSE019:1;\r
+            unsigned long ECMMSSE020:1;\r
+            unsigned long ECMMSSE021:1;\r
+            unsigned long ECMMSSE022:1;\r
+            unsigned long ECMMSSE023:1;\r
+            unsigned long ECMMSSE024:1;\r
+            unsigned long ECMMSSE025:1;\r
+            unsigned long ECMMSSE026:1;\r
+            unsigned long ECMMSSE027:1;\r
+            unsigned long ECMMSSE028:1;\r
+            unsigned long :1;\r
+            unsigned long ECMMSSE030:1;\r
+            unsigned long ECMMSSE031:1;\r
+        } BIT;\r
+    } ECMMESSTR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ECMMSSE100:1;\r
+            unsigned long ECMMSSE101:1;\r
+            unsigned long ECMMSSE102:1;\r
+            unsigned long :1;\r
+            unsigned long ECMMSSE104:1;\r
+            unsigned long ECMMSSE105:1;\r
+            unsigned long ECMMSSE106:1;\r
+            unsigned long ECMMSSE107:1;\r
+            unsigned long ECMMSSE108:1;\r
+            unsigned long :23;\r
+        } BIT;\r
+    } ECMMESSTR1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :28;\r
+            unsigned long ECMMSSE228:1;\r
+            unsigned long ECMMSSE229:1;\r
+            unsigned long ECMMSSE230:1;\r
+            unsigned long ECMMSSE231:1;\r
+        } BIT;\r
+    } ECMMESSTR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ECMM0REG:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } ECMMPCMD0;\r
+};\r
+\r
+struct st_elc\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :7;\r
+            unsigned char ELCON:1;\r
+        } BIT;\r
+    } ELCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR0;\r
+    char           wk0[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR3;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR4;\r
+    char           wk1[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR7;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR10;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR11;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR12;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR13;\r
+    char           wk3[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR15;\r
+    char           wk4[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR18;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR19;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR20;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR21;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR22;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR23;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR24;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR25;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR26;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR27;\r
+    char           wk5[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MTU0MD:2;\r
+            unsigned char :4;\r
+            unsigned char MTU3MD:2;\r
+        } BIT;\r
+    } ELOPA;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MTU4MD:2;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } ELOPB;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :2;\r
+            unsigned char CMT1MD:2;\r
+            unsigned char :4;\r
+        } BIT;\r
+    } ELOPC;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char DSU0MD:2;\r
+            unsigned char DSU1MD:2;\r
+            unsigned char DSX0MD:2;\r
+            unsigned char DSX1MD:2;\r
+        } BIT;\r
+    } ELOPD;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PGRn0:1;\r
+            unsigned char PGRn1:1;\r
+            unsigned char PGRn2:1;\r
+            unsigned char PGRn3:1;\r
+            unsigned char PGRn4:1;\r
+            unsigned char PGRn5:1;\r
+            unsigned char PGRn6:1;\r
+            unsigned char PGRn7:1;\r
+        } BIT;\r
+    } PGR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PGRn0:1;\r
+            unsigned char PGRn1:1;\r
+            unsigned char PGRn2:1;\r
+            unsigned char PGRn3:1;\r
+            unsigned char PGRn4:1;\r
+            unsigned char PGRn5:1;\r
+            unsigned char PGRn6:1;\r
+            unsigned char PGRn7:1;\r
+        } BIT;\r
+    } PGR2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PGCIn:2;\r
+            unsigned char PGCOVEn:1;\r
+            unsigned char :1;\r
+            unsigned char PGCOn:3;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PGC1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PGCIn:2;\r
+            unsigned char PGCOVEn:1;\r
+            unsigned char :1;\r
+            unsigned char PGCOn:3;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PGC2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PDBFn0:1;\r
+            unsigned char PDBFn1:1;\r
+            unsigned char PDBFn2:1;\r
+            unsigned char PDBFn3:1;\r
+            unsigned char PDBFn4:1;\r
+            unsigned char PDBFn5:1;\r
+            unsigned char PDBFn6:1;\r
+            unsigned char PDBFn7:1;\r
+        } BIT;\r
+    } PDBF1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PDBFn0:1;\r
+            unsigned char PDBFn1:1;\r
+            unsigned char PDBFn2:1;\r
+            unsigned char PDBFn3:1;\r
+            unsigned char PDBFn4:1;\r
+            unsigned char PDBFn5:1;\r
+            unsigned char PDBFn6:1;\r
+            unsigned char PDBFn7:1;\r
+        } BIT;\r
+    } PDBF2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSBn:3;\r
+            unsigned char PSPn:2;\r
+            unsigned char PSMn:2;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PEL0;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSBn:3;\r
+            unsigned char PSPn:2;\r
+            unsigned char PSMn:2;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PEL1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSBn:3;\r
+            unsigned char PSPn:2;\r
+            unsigned char PSMn:2;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PEL2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSBn:3;\r
+            unsigned char PSPn:2;\r
+            unsigned char PSMn:2;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PEL3;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SEG:1;\r
+            unsigned char :5;\r
+            unsigned char WE:1;\r
+            unsigned char WI:1;\r
+        } BIT;\r
+    } ELSEGR;\r
+    char           wk6[3];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR33;\r
+    char           wk7[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR35;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR36;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR37;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR38;\r
+    char           wk8[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR41;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR42;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR43;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR44;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ELS:8;\r
+        } BIT;\r
+    } ELSR45;\r
+    char           wk9[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPU0MD:2;\r
+            unsigned char TPU1MD:2;\r
+            unsigned char TPU2MD:2;\r
+            unsigned char TPU3MD:2;\r
+        } BIT;\r
+    } ELOPF;\r
+    char           wk10[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CMTW0MD:2;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } ELOPH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char GPT0MD:3;\r
+            unsigned char :1;\r
+            unsigned char GPT1MD:3;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } ELOPI;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char GPT2MD:3;\r
+            unsigned char :1;\r
+            unsigned char GPT3MD:3;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } ELOPJ;\r
+};\r
+\r
+struct st_etherc\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } ETSPCMD;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MAC:3;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } MACSEL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MODE:5;\r
+            unsigned long :3;\r
+            unsigned long FULLD:1;\r
+            unsigned long :1;\r
+            unsigned long RMII_CRS_MODE:1;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } MII_CTRL0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MODE:5;\r
+            unsigned long :3;\r
+            unsigned long FULLD:1;\r
+            unsigned long :1;\r
+            unsigned long RMII_CRS_MODE:1;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } MII_CTRL1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MODE:5;\r
+            unsigned long :3;\r
+            unsigned long FULLD:1;\r
+            unsigned long :1;\r
+            unsigned long RMII_CRS_MODE:1;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } MII_CTRL2;\r
+    char           wk0[260];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CATRST:1;\r
+            unsigned long SWRST:1;\r
+            unsigned long PHYRST:1;\r
+            unsigned long PHYRST2:1;\r
+            unsigned long MIICRST:1;\r
+            unsigned long :27;\r
+        } BIT;\r
+    } ETHSFTRST;\r
+    char           wk1[196324];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SYSC:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } SYSC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long R4B:32;\r
+        } BIT;\r
+    } R4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long R5B:32;\r
+        } BIT;\r
+    } R5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long R6B:32;\r
+        } BIT;\r
+    } R6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long R7B:32;\r
+        } BIT;\r
+    } R7;\r
+    char           wk2[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long R0B:32;\r
+        } BIT;\r
+    } R0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long R1B:32;\r
+        } BIT;\r
+    } R1;\r
+    char           wk3[4068];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TXID:32;\r
+        } BIT;\r
+    } GMAC_TXID;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOUFLOW:1;\r
+            unsigned long RETRYN:4;\r
+            unsigned long LCOLLIS:1;\r
+            unsigned long UNDERFW:1;\r
+            unsigned long OVERFW:1;\r
+            unsigned long CSERR:1;\r
+            unsigned long MCOLLIS:1;\r
+            unsigned long SCOLLIS:1;\r
+            unsigned long TFAIL:1;\r
+            unsigned long TABT:1;\r
+            unsigned long TCMP:1;\r
+            unsigned long :18;\r
+        } BIT;\r
+    } GMAC_TXRESULT;\r
+    char           wk4[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :30;\r
+            unsigned long DUPMODE:1;\r
+            unsigned long ETHMODE:1;\r
+        } BIT;\r
+    } GMAC_MODE;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :9;\r
+            unsigned long RRTTH:3;\r
+            unsigned long RFULLTH:2;\r
+            unsigned long REMPTH:2;\r
+            unsigned long :12;\r
+            unsigned long RAMASKEN:1;\r
+            unsigned long SFRXFIFO:1;\r
+            unsigned long MFILLTEREN:1;\r
+            unsigned long AFILLTEREN:1;\r
+        } BIT;\r
+    } GMAC_RXMODE;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :6;\r
+            unsigned long TRBMODE:2;\r
+            unsigned long :1;\r
+            unsigned long TFULLTH:2;\r
+            unsigned long TEMPTH:3;\r
+            unsigned long FSTTH:2;\r
+            unsigned long :10;\r
+            unsigned long SFOP:1;\r
+            unsigned long RTRANSLC:1;\r
+            unsigned long SPTXEN:1;\r
+            unsigned long SF:1;\r
+            unsigned long LPTXEN:1;\r
+            unsigned long RTRANSDEN:1;\r
+        } BIT;\r
+    } GMAC_TXMODE;\r
+    char           wk5[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :13;\r
+            unsigned long RXRST:1;\r
+            unsigned long :1;\r
+            unsigned long TXRST:1;\r
+            unsigned long :15;\r
+            unsigned long ALLRST:1;\r
+        } BIT;\r
+    } GMAC_RESET;\r
+    char           wk6[76];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PPDATA1:32;\r
+        } BIT;\r
+    } GMAC_PAUSE1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PPDATA2:32;\r
+        } BIT;\r
+    } GMAC_PAUSE2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PPDATA3:32;\r
+        } BIT;\r
+    } GMAC_PAUSE3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PPDATA4:32;\r
+        } BIT;\r
+    } GMAC_PAUSE4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PPDATA5:32;\r
+        } BIT;\r
+    } GMAC_PAUSE5;\r
+    char           wk7[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :31;\r
+            unsigned long PPRXEN:1;\r
+        } BIT;\r
+    } GMAC_FLWCTL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :31;\r
+            unsigned long PPR:1;\r
+        } BIT;\r
+    } GMAC_PAUSPKT;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DATA:16;\r
+            unsigned long REGADDR:5;\r
+            unsigned long PHYADDR:5;\r
+            unsigned long RWDV:1;\r
+            unsigned long :5;\r
+        } BIT;\r
+    } GMAC_MIIM;\r
+    char           wk8[92];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR0A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR0B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR1A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR1B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR2A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR2B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR3A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR3B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR4A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR4B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR5A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR5B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR6A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR6B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR7A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR7B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR8A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR8B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR9A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR9B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR10A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR10B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR11A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR11B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR12A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR12B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR13A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR13B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR14A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR14B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR1B:8;\r
+            unsigned long MADDR2B:8;\r
+            unsigned long MADDR3B:8;\r
+            unsigned long MADDR4B:8;\r
+        } BIT;\r
+    } GMAC_ADR15A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MADDR5B:8;\r
+            unsigned long MADDR6B:8;\r
+            unsigned long BITMSK:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } GMAC_ADR15B;\r
+    char           wk9[128];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :17;\r
+            unsigned long RSW:12;\r
+            unsigned long RRT:1;\r
+            unsigned long REMP:1;\r
+            unsigned long RFULL:1;\r
+        } BIT;\r
+    } GMAC_RXFIFO;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :24;\r
+            unsigned long TRBFR:3;\r
+            unsigned long TSTATUS:3;\r
+            unsigned long TEMP:1;\r
+            unsigned long TFULL:1;\r
+        } BIT;\r
+    } GMAC_TXFIFO;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RTCPIPEN:1;\r
+            unsigned long TTCPIPEN:1;\r
+            unsigned long RTCPIPACC:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } GMAC_ACC;\r
+    char           wk10[20];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RMACEN:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } GMAC_RXMAC_ENA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :31;\r
+            unsigned long LPMEN:1;\r
+        } BIT;\r
+    } GMAC_LPI_MODE;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long LPWTIME:16;\r
+            unsigned long LPRDEF:16;\r
+        } BIT;\r
+    } GMAC_LPI_TIMING;\r
+    char           wk11[3796];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ADDR:16;\r
+            unsigned long WORD:12;\r
+            unsigned long VALID:1;\r
+            unsigned long :2;\r
+            unsigned long NOEMP:1;\r
+        } BIT;\r
+    } BUFID;\r
+    char           wk12[4092];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } SPCMD;\r
+    char           wk13[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EMACRST:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } EMACRST;\r
+};\r
+\r
+struct st_ethersw\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SWLINK0:1;\r
+            unsigned long SWLINK1:1;\r
+            unsigned long CATLINK0:1;\r
+            unsigned long CATLINK1:1;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } ETHPHYLNK;\r
+    char           wk0[248];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SWTAGTYP:16;\r
+            unsigned long :15;\r
+            unsigned long SWTAGEN:1;\r
+        } BIT;\r
+    } ETHSWMTC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long P0HDMODE:1;\r
+            unsigned long :1;\r
+            unsigned long P1HDMODE:1;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } ETHSWMD;\r
+    char           wk1[232];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long OUTEN:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SWTMEN;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TMSTSEC:32;\r
+        } BIT;\r
+    } SWTMSTSEC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TMSTNS:32;\r
+        } BIT;\r
+    } SWTMSTNS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TMPSEC:32;\r
+        } BIT;\r
+    } SWTMPSEC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TMPNS:32;\r
+        } BIT;\r
+    } SWTMPNS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TMWTH:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } SWTMWTH;\r
+    char           wk2[20];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TMLATSEC:32;\r
+        } BIT;\r
+    } SWTMLATSEC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TMLATNS:32;\r
+        } BIT;\r
+    } SWTMLATNS;\r
+    char           wk3[3540];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long P0ENA:1;\r
+            unsigned long P1ENA:1;\r
+            unsigned long P2ENA:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } PORT_ENA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long P0UCASTDM:1;\r
+            unsigned long P1UCASTDM:1;\r
+            unsigned long P2UCASTDM:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } UCAST_DEFAULT_MASK;\r
+    char           wk4[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long P0BCASTDM:1;\r
+            unsigned long P1BCASTDM:1;\r
+            unsigned long P2BCASTDM:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } BCAST_DEFAULT_MASK;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long P0MCASTDM:1;\r
+            unsigned long P1MCASTDM:1;\r
+            unsigned long P2MCASTDM:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } MCAST_DEFAULT_MASK;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long P0BLOCKEN:1;\r
+            unsigned long P1BLOCKEN:1;\r
+            unsigned long P2BLOCKEN:1;\r
+            unsigned long :13;\r
+            unsigned long P0LEARNDIS:1;\r
+            unsigned long P1LEARNDIS:1;\r
+            unsigned long P2LEARNDIS:1;\r
+            unsigned long :13;\r
+        } BIT;\r
+    } INPUT_LERAN_BLOCK;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PORT:2;\r
+            unsigned long :3;\r
+            unsigned long MSGTRANS:1;\r
+            unsigned long ENABLE:1;\r
+            unsigned long DISCARD:1;\r
+            unsigned long :5;\r
+            unsigned long PRIORITY:3;\r
+            unsigned long P0PORTMASK:1;\r
+            unsigned long P1PORTMASK:1;\r
+            unsigned long :14;\r
+        } BIT;\r
+    } MGMT_CONFIG;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :31;\r
+            unsigned long STATSRESET:1;\r
+        } BIT;\r
+    } MODE_CONFIG;\r
+    char           wk5[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VLANTAGID:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } VLAN_TAG_ID;\r
+    char           wk6[72];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long BUSYINIT:1;\r
+            unsigned long NOCELL:1;\r
+            unsigned long MEMFULL:1;\r
+            unsigned long MEMFULL_LT:1;\r
+            unsigned long :2;\r
+            unsigned long DEQUEGRANT:1;\r
+            unsigned long :9;\r
+            unsigned long CELLAVILABLE:16;\r
+        } BIT;\r
+    } OQMGR_STATUS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MINCELLS:5;\r
+            unsigned long :27;\r
+        } BIT;\r
+    } QMGR_MINCELLS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long STMINCELLS:5;\r
+            unsigned long :27;\r
+        } BIT;\r
+    } QMGR_ST_MINCELLS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long P0CGS:1;\r
+            unsigned long P1CGS:1;\r
+            unsigned long P2CGS:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } QMGR_CGS_STAT;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long P0TXFIFOST:1;\r
+            unsigned long P1TXFIFOST:1;\r
+            unsigned long P2TXFIFOST:1;\r
+            unsigned long :13;\r
+            unsigned long P0RXFIFOAV:1;\r
+            unsigned long P1RXFIFOAV:1;\r
+            unsigned long P2RXFIFOAV:1;\r
+            unsigned long :13;\r
+        } BIT;\r
+    } QMGR_IFACE_STAT;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long QUEUE0:5;\r
+            unsigned long :3;\r
+            unsigned long QUEUE1:5;\r
+            unsigned long :3;\r
+            unsigned long QUEUE2:5;\r
+            unsigned long :3;\r
+            unsigned long QUEUE3:5;\r
+            unsigned long :3;\r
+        } BIT;\r
+    } QMGR_WEIGHTS;\r
+    char           wk7[104];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRIORITY0:3;\r
+            unsigned long PRIORITY1:3;\r
+            unsigned long PRIORITY2:3;\r
+            unsigned long PRIORITY3:3;\r
+            unsigned long PRIORITY4:3;\r
+            unsigned long PRIORITY5:3;\r
+            unsigned long PRIORITY6:3;\r
+            unsigned long PRIORITY7:3;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } VLAN_PRIORITY[3];\r
+    char           wk8[52];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ADDRESS:8;\r
+            unsigned long IPV6SELECT:1;\r
+            unsigned long PRIORITY:2;\r
+            unsigned long :20;\r
+            unsigned long READ:1;\r
+        } BIT;\r
+    } IP_PRIORITY0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ADDRESS:8;\r
+            unsigned long IPV6SELECT:1;\r
+            unsigned long PRIORITY:2;\r
+            unsigned long :20;\r
+            unsigned long READ:1;\r
+        } BIT;\r
+    } IP_PRIORITY1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ADDRESS:8;\r
+            unsigned long IPV6SELECT:1;\r
+            unsigned long PRIORITY:2;\r
+            unsigned long :20;\r
+            unsigned long READ:1;\r
+        } BIT;\r
+    } IP_PRIORITY2;\r
+    char           wk9[52];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VLANEN:1;\r
+            unsigned long IPEN:1;\r
+            unsigned long :2;\r
+            unsigned long DEFAULTPRI:3;\r
+            unsigned long :25;\r
+        } BIT;\r
+    } PRIORITY_CFG[3];\r
+    char           wk10[52];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long HUBEN:1;\r
+            unsigned long DIR0TO1EN:1;\r
+            unsigned long DIR1TO0EN:1;\r
+            unsigned long BROCAFILEN:1;\r
+            unsigned long HUBIPG:4;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } HUB_CONTROL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NUM1TO0:32;\r
+        } BIT;\r
+    } HUB_STATS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD1n:8;\r
+            unsigned long MACADD2n:8;\r
+            unsigned long MACADD3n:8;\r
+            unsigned long MACADD4n:8;\r
+        } BIT;\r
+    } HUB_FLT_MAC0lo;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD5n:8;\r
+            unsigned long MACADD6n:8;\r
+            unsigned long MASKCOMP:8;\r
+            unsigned long FORCEFOW:1;\r
+            unsigned long :7;\r
+        } BIT;\r
+    } HUB_FLT_MAC0hi;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD1n:8;\r
+            unsigned long MACADD2n:8;\r
+            unsigned long MACADD3n:8;\r
+            unsigned long MACADD4n:8;\r
+        } BIT;\r
+    } HUB_FLT_MAC1lo;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD5n:8;\r
+            unsigned long MACADD6n:8;\r
+            unsigned long MASKCOMP:8;\r
+            unsigned long FORCEFOW:1;\r
+            unsigned long :7;\r
+        } BIT;\r
+    } HUB_FLT_MAC1hi;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD1n:8;\r
+            unsigned long MACADD2n:8;\r
+            unsigned long MACADD3n:8;\r
+            unsigned long MACADD4n:8;\r
+        } BIT;\r
+    } HUB_FLT_MAC2lo;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD5n:8;\r
+            unsigned long MACADD6n:8;\r
+            unsigned long MASKCOMP:8;\r
+            unsigned long FORCEFOW:1;\r
+            unsigned long :7;\r
+        } BIT;\r
+    } HUB_FLT_MAC2hi;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD1n:8;\r
+            unsigned long MACADD2n:8;\r
+            unsigned long MACADD3n:8;\r
+            unsigned long MACADD4n:8;\r
+        } BIT;\r
+    } HUB_FLT_MAC3lo;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD5n:8;\r
+            unsigned long MACADD6n:8;\r
+            unsigned long MASKCOMP:8;\r
+            unsigned long FORCEFOW:1;\r
+            unsigned long :7;\r
+        } BIT;\r
+    } HUB_FLT_MAC3hi;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD1n:8;\r
+            unsigned long MACADD2n:8;\r
+            unsigned long MACADD3n:8;\r
+            unsigned long MACADD4n:8;\r
+        } BIT;\r
+    } HUB_FLT_MAC4lo;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD5n:8;\r
+            unsigned long MACADD6n:8;\r
+            unsigned long MASKCOMP:8;\r
+            unsigned long FORCEFOW:1;\r
+            unsigned long :7;\r
+        } BIT;\r
+    } HUB_FLT_MAC4hi;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD1n:8;\r
+            unsigned long MACADD2n:8;\r
+            unsigned long MACADD3n:8;\r
+            unsigned long MACADD4n:8;\r
+        } BIT;\r
+    } HUB_FLT_MAC5lo;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD5n:8;\r
+            unsigned long MACADD6n:8;\r
+            unsigned long MASKCOMP:8;\r
+            unsigned long FORCEFOW:1;\r
+            unsigned long :7;\r
+        } BIT;\r
+    } HUB_FLT_MAC5hi;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD1n:8;\r
+            unsigned long MACADD2n:8;\r
+            unsigned long MACADD3n:8;\r
+            unsigned long MACADD4n:8;\r
+        } BIT;\r
+    } HUB_FLT_MAC6lo;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD5n:8;\r
+            unsigned long MACADD6n:8;\r
+            unsigned long MASKCOMP:8;\r
+            unsigned long FORCEFOW:1;\r
+            unsigned long :7;\r
+        } BIT;\r
+    } HUB_FLT_MAC6hi;\r
+    char           wk11[256];\r
+    unsigned long  TOTAL_BYT_FRM;\r
+    unsigned long  TOTAL_BYT_DISC;\r
+    unsigned long  TOTAL_FRM;\r
+    unsigned long  TOTAL_DISC;\r
+    unsigned long  ODISC0;\r
+    unsigned long  IDISC_BLOCKED0;\r
+    unsigned long  ODISC1;\r
+    unsigned long  IDISC_BLOCKED1;\r
+    unsigned long  ODISC2;\r
+    unsigned long  IDISC_BLOCKED2;\r
+    char           wk12[472];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SRCADD1:8;\r
+            unsigned long SRCADD2:8;\r
+            unsigned long SRCADD3:8;\r
+            unsigned long SRCADD4:8;\r
+        } BIT;\r
+    } LRN_REC_A;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SRCADD5:8;\r
+            unsigned long SRCADD6:8;\r
+            unsigned long HASH:8;\r
+            unsigned long PORT:4;\r
+            unsigned long :4;\r
+        } BIT;\r
+    } LRN_REC_B;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long LERNAVAL:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } LRN_STATUS;\r
+    char           wk13[0x4000-0x050C];\r
+    char           ADR_TABLE[0x8000-0x4000];\r
+    struct\r
+    {\r
+        char           mac_wk01[8];\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long TXENA:1;\r
+                unsigned long RXENA:1;\r
+                unsigned long :11;\r
+                unsigned long SWRESET:1;\r
+                unsigned long :9;\r
+                unsigned long CNTRLREMEN:1;\r
+                unsigned long NOLGTHCHK:1;\r
+                unsigned long :1;\r
+                unsigned long RXERRDISC:1;\r
+                unsigned long :4;\r
+                unsigned long CNTRESET:1;\r
+            } BIT;\r
+        } COMMAND_CONFIG;\r
+        char           mac_wk02[8];\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long FRMLEN:14;\r
+                unsigned long :18;\r
+            } BIT;\r
+        } FRM_LENGTH;\r
+        char           mac_wk03[4];\r
+        unsigned long  RX_SECTION_EMPTY;\r
+        unsigned long  RX_SECTION_FULL;\r
+        unsigned long  TX_SECTION_EMPTY;\r
+        unsigned long  TX_SECTION_FULL;\r
+        unsigned long  RX_ALMOST_EMPTY;\r
+        unsigned long  RX_ALMOST_FULL;\r
+        unsigned long  TX_ALMOST_EMPTY;\r
+        unsigned long  TX_ALMOST_FULL;\r
+        char           mac_wk04[28];\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long :8;\r
+                unsigned long SPEEDP0:1;\r
+                unsigned long :1;\r
+                unsigned long HDPP0:1;\r
+                unsigned long :1;\r
+                unsigned long SPEEDP1:1;\r
+                unsigned long :1;\r
+                unsigned long HDPP1:1;\r
+                unsigned long :17;\r
+            } BIT;\r
+        } MAC_STATUS;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long TXIPGLEN:5;\r
+                unsigned long :27;\r
+            } BIT;\r
+        } TX_IPG_LENGTH;\r
+        char           mac_wk05[160];\r
+        unsigned long  etherStatsOctets;\r
+        unsigned long  OctetsOK;\r
+        unsigned long  aAlignmentErrors;\r
+        unsigned long  aPAUSEMACCtrlFrames;\r
+        unsigned long  FramesOK;\r
+        unsigned long  CRCErrors;\r
+        unsigned long  VLANOK;\r
+        unsigned long  ifInErrors;\r
+        unsigned long  ifInUcastPkts;\r
+        unsigned long  ifInMulticastPkts;\r
+        unsigned long  ifInBroadcastPkts;\r
+        unsigned long  etherStatsDropEvents;\r
+        unsigned long  etherStatsPkts;\r
+        unsigned long  etherStatsUndersizePkts;\r
+        unsigned long  etherStatsPkts64Octets;\r
+        unsigned long  etherStatsPkts65to127Octets;\r
+        unsigned long  etherStatsPkts128to255Octets;\r
+        unsigned long  etherStatsPkts256to511Octets;\r
+        unsigned long  etherStatsPkts512to1023Octets;\r
+        unsigned long  etherStatsPkts1024to1518Octets;\r
+        unsigned long  etherStatsPkts1519toMax;\r
+        unsigned long  etherStatsOversizePkts;\r
+        unsigned long  etherStatsJabbers;\r
+        unsigned long  etherStatsFragments;\r
+        unsigned long  aMACControlFramesReceived;\r
+        unsigned long  aFrameTooLong;\r
+        char           mac_wk06[4];\r
+        unsigned long  StackedVLANOK;\r
+        char           mac_wk07[16];\r
+        unsigned long  TXetherStatsOctets;\r
+        unsigned long  TxOctetsOK;\r
+        char           mac_wk08[4];\r
+        unsigned long  TXaPAUSEMACCtrlFrames;\r
+        unsigned long  TxFramesOK;\r
+        unsigned long  TxCRCErrors;\r
+        unsigned long  TxVLANOK;\r
+        unsigned long  ifOutErrors;\r
+        unsigned long  ifUcastPkts;\r
+        unsigned long  ifMulticastPkts;\r
+        unsigned long  ifBroadcastPkts;\r
+        unsigned long  TXetherStatsDropEvents;\r
+        unsigned long  TXetherStatsPkts;\r
+        unsigned long  TXetherStatsUndersizePkts;\r
+        unsigned long  TXetherStatsPkts64Octets;\r
+        unsigned long  TXetherStatsPkts65to127Octets;\r
+        unsigned long  TXetherStatsPkts128to255Octets;\r
+        unsigned long  TXetherStatsPkts256to511Octets;\r
+        unsigned long  TXetherStatsPkts512to1023Octets;\r
+        unsigned long  TXetherStatsPkts1024to1518Octets;\r
+        unsigned long  TXetherStatsPkts1519toMax;\r
+        unsigned long  TXetherStatsOversizePkts;\r
+        unsigned long  TXetherStatsJabbers;\r
+        unsigned long  TXetherStatsFragments;\r
+        unsigned long  aMACControlFrames;\r
+        unsigned long  TXaFrameTooLong;\r
+        char           mac_wk09[4];\r
+        unsigned long  aMultipleCollisions;\r
+        unsigned long  aSingleCollisions;\r
+        unsigned long  aLateCollisions;\r
+        unsigned long  aExcessCollisions;\r
+        char           mac_wk10[0xA000-0x81FC];\r
+    } MAC[2];\r
+    char           wk32[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQENA:1;\r
+            unsigned long IRQEVTOFF:1;\r
+            unsigned long IRQEVTPERD:1;\r
+            unsigned long IRQTIMOVER:1;\r
+            unsigned long IRQTEST:1;\r
+            unsigned long :7;\r
+            unsigned long IRQTXENAP0:1;\r
+            unsigned long IRQTXENAP1:1;\r
+            unsigned long :18;\r
+        } BIT;\r
+    } TSM_CONFIG;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQENA:1;\r
+            unsigned long IRQEVTOFF:1;\r
+            unsigned long IRQEVTPERD:1;\r
+            unsigned long IRQTIMOVER:1;\r
+            unsigned long IRQTEST:1;\r
+            unsigned long :7;\r
+            unsigned long IRQTXP0:1;\r
+            unsigned long IRQTXP1:1;\r
+            unsigned long :18;\r
+        } BIT;\r
+    } TSM_IRQ_STAT_ACK;\r
+    char           wk33[20];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TSVALID:1;\r
+            unsigned long TSOVR:1;\r
+            unsigned long TSKEEP:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } PORT0_CTRL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TSREG:32;\r
+        } BIT;\r
+    } PORT0_TIME;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TSVALID:1;\r
+            unsigned long TSOVR:1;\r
+            unsigned long TSKEEP:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } PORT1_CTRL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TSREG:32;\r
+        } BIT;\r
+    } PORT1_TIME;\r
+    char           wk34[240];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TMENA:1;\r
+            unsigned long :1;\r
+            unsigned long EVTOFFENA:1;\r
+            unsigned long :1;\r
+            unsigned long EVTPERIENA:1;\r
+            unsigned long EVTPERIRST:1;\r
+            unsigned long :3;\r
+            unsigned long RST:1;\r
+            unsigned long :1;\r
+            unsigned long CAPTR:1;\r
+            unsigned long PLUS1:1;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } ATIME_CTRL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TMR:32;\r
+        } BIT;\r
+    } ATIME;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long OFFSET:32;\r
+        } BIT;\r
+    } ATIME_OFFSET;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TIMPEREVET:32;\r
+        } BIT;\r
+    } ATIME_EVT_PERIOD;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DRIFCORVAL:31;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } ATIME_CORR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CLKPERD:7;\r
+            unsigned long :1;\r
+            unsigned long CORRINC:7;\r
+            unsigned long :1;\r
+            unsigned long OFFSCORRINC:7;\r
+            unsigned long :9;\r
+        } BIT;\r
+    } ATIME_INC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SECTIM:32;\r
+        } BIT;\r
+    } ATIME_SEC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long OFFCOR:32;\r
+        } BIT;\r
+    } ATIME_CORR_OFFS;\r
+    char           wk35[7872];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DLRENA:1;\r
+            unsigned long :3;\r
+            unsigned long BECTIMOUT:1;\r
+            unsigned long :3;\r
+            unsigned long CYCMCLK:8;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DLR_CONTROL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long BEAREV0:1;\r
+            unsigned long BEAREV1:1;\r
+            unsigned long :6;\r
+            unsigned long CURRSTA:8;\r
+            unsigned long LINSTAP0:1;\r
+            unsigned long LINSTAP1:1;\r
+            unsigned long :6;\r
+            unsigned long NETTOPGY:8;\r
+        } BIT;\r
+    } DLR_STATUS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ETHTYPDLR:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DLR_ETH_TYP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQCHNGENA:1;\r
+            unsigned long IRQFLUENA:1;\r
+            unsigned long IRQSTOPP0:1;\r
+            unsigned long IRQSTOPP1:1;\r
+            unsigned long IRQBECTOUT0:1;\r
+            unsigned long IRQBECTOUT1:1;\r
+            unsigned long IRQSUPENA:1;\r
+            unsigned long IRQLINKENA0:1;\r
+            unsigned long IRQLINKENA1:1;\r
+            unsigned long IRQSUPIGENA:1;\r
+            unsigned long IRQIPADDREN:1;\r
+            unsigned long IRQINVTMREN:1;\r
+            unsigned long IRQBECENA0:1;\r
+            unsigned long IRQBECENA1:1;\r
+            unsigned long IRQFRMDSP0:1;\r
+            unsigned long IRQFRMDSP1:1;\r
+            unsigned long :14;\r
+            unsigned long ATOMICOR:1;\r
+            unsigned long ATOMICAND:1;\r
+        } BIT;\r
+    } DLR_IRQ_CTRL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long STACHANGE:1;\r
+            unsigned long FLUEVENT:1;\r
+            unsigned long STOPNBCHK0:1;\r
+            unsigned long STOPNBCHK1:1;\r
+            unsigned long BECTMRP0:1;\r
+            unsigned long BECTMRP1:1;\r
+            unsigned long SUPRCHAG:1;\r
+            unsigned long LINKSTAP0:1;\r
+            unsigned long LINKSTAP1:1;\r
+            unsigned long SUPIGNBEC:1;\r
+            unsigned long IPCHANEVET:1;\r
+            unsigned long INVTMR:1;\r
+            unsigned long BECFRAP0:1;\r
+            unsigned long BECFRAP1:1;\r
+            unsigned long FRMDISP0:1;\r
+            unsigned long FRMDISP1:1;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } DLR_IRQ_STAT_ACK;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD1:8;\r
+            unsigned long MACADD2:8;\r
+            unsigned long MACADD3:8;\r
+            unsigned long MACADD4:8;\r
+        } BIT;\r
+    } LOC_MAClo;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD5:8;\r
+            unsigned long MACADD6:8;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } LOC_MAChi;\r
+    char           wk36[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD1:8;\r
+            unsigned long MACADD2:8;\r
+            unsigned long MACADD3:8;\r
+            unsigned long MACADD4:8;\r
+        } BIT;\r
+    } SUPR_MAClo;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MACADD5:8;\r
+            unsigned long MACADD6:8;\r
+            unsigned long SUPRPRE:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } SUPR_MAChi;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RINGSTATE:8;\r
+            unsigned long VLANVALID:1;\r
+            unsigned long :7;\r
+            unsigned long VLANCI:16;\r
+        } BIT;\r
+    } STATE_VLAN;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long BECTMOUT:32;\r
+        } BIT;\r
+    } BEC_TMOUT;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long BECINTVAL:32;\r
+        } BIT;\r
+    } BEC_INTRVL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SPVIP:32;\r
+        } BIT;\r
+    } SUPR_IPADR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DLRRINGTPY:8;\r
+            unsigned long DLRRINGVER:8;\r
+            unsigned long SOURP:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } ETH_STYP_VER;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long INVBECTMOUT:32;\r
+        } BIT;\r
+    } INV_TMOUT;\r
+    unsigned long  SEQ_ID;\r
+    char           wk37[28];\r
+    unsigned long  RX_STAT0;\r
+    unsigned long  RX_ERR_STAT0;\r
+    unsigned long  TX_STAT0;\r
+    char           wk38[4];\r
+    unsigned long  RX_STAT1;\r
+    unsigned long  RX_ERR_STAT1;\r
+    unsigned long  TX_STAT1;\r
+};\r
+\r
+struct st_gpt\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CST0:1;\r
+            unsigned short CST1:1;\r
+            unsigned short CST2:1;\r
+            unsigned short CST3:1;\r
+            unsigned short :12;\r
+        } BIT;\r
+    } GTSTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short NFA0EN:1;\r
+            unsigned short NFB0EN:1;\r
+            unsigned short NFA1EN:1;\r
+            unsigned short NFB1EN:1;\r
+            unsigned short NFA2EN:1;\r
+            unsigned short NFB2EN:1;\r
+            unsigned short NFA3EN:1;\r
+            unsigned short NFB3EN:1;\r
+            unsigned short NFCS0:2;\r
+            unsigned short NFCS1:2;\r
+            unsigned short NFCS2:2;\r
+            unsigned short NFCS3:2;\r
+        } BIT;\r
+    } NFCR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CSHW0:2;\r
+            unsigned short CSHW1:2;\r
+            unsigned short CSHW2:2;\r
+            unsigned short CSHW3:2;\r
+            unsigned short CPHW0:2;\r
+            unsigned short CPHW1:2;\r
+            unsigned short CPHW2:2;\r
+            unsigned short CPHW3:2;\r
+        } BIT;\r
+    } GTHSCR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CCHW0:2;\r
+            unsigned short CCHW1:2;\r
+            unsigned short CCHW2:2;\r
+            unsigned short CCHW3:2;\r
+            unsigned short CCSW0:1;\r
+            unsigned short CCSW1:1;\r
+            unsigned short CCSW2:1;\r
+            unsigned short CCSW3:1;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } GTHCCR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CSHSL0:4;\r
+            unsigned short CSHSL1:4;\r
+            unsigned short CSHSL2:4;\r
+            unsigned short CSHSL3:4;\r
+        } BIT;\r
+    } GTHSSR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CSHPL0:4;\r
+            unsigned short CSHPL1:4;\r
+            unsigned short CSHPL2:4;\r
+            unsigned short CSHPL3:4;\r
+        } BIT;\r
+    } GTHPSR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short WP0:1;\r
+            unsigned short WP1:1;\r
+            unsigned short WP2:1;\r
+            unsigned short WP3:1;\r
+            unsigned short :12;\r
+        } BIT;\r
+    } GTWP;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short SYNC0:2;\r
+            unsigned short :2;\r
+            unsigned short SYNC1:2;\r
+            unsigned short :2;\r
+            unsigned short SYNC2:2;\r
+            unsigned short :2;\r
+            unsigned short SYNC3:2;\r
+            unsigned short :2;\r
+        } BIT;\r
+    } GTSYNC;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ETIPEN:1;\r
+            unsigned short ETINEN:1;\r
+            unsigned short :11;\r
+            unsigned short GTENFCS:2;\r
+            unsigned short GTETRGEN:1;\r
+        } BIT;\r
+    } GTETINT;\r
+    char           wk0[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short BD00:1;\r
+            unsigned short BD01:1;\r
+            unsigned short BD02:1;\r
+            unsigned short BD03:1;\r
+            unsigned short BD10:1;\r
+            unsigned short BD11:1;\r
+            unsigned short BD12:1;\r
+            unsigned short BD13:1;\r
+            unsigned short BD20:1;\r
+            unsigned short BD21:1;\r
+            unsigned short BD22:1;\r
+            unsigned short BD23:1;\r
+            unsigned short BD30:1;\r
+            unsigned short BD31:1;\r
+            unsigned short BD32:1;\r
+            unsigned short BD33:1;\r
+        } BIT;\r
+    } GTBDR;\r
+    char           wk1[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short SWP0:1;\r
+            unsigned short SWP1:1;\r
+            unsigned short SWP2:1;\r
+            unsigned short SWP3:1;\r
+            unsigned short :12;\r
+        } BIT;\r
+    } GTSWP;\r
+};\r
+\r
+struct st_gpt0\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short GTIOA:6;\r
+            unsigned short OADFLT:1;\r
+            unsigned short OAHLD:1;\r
+            unsigned short GTIOB:6;\r
+            unsigned short OBDFLT:1;\r
+            unsigned short OBHLD:1;\r
+        } BIT;\r
+    } GTIOR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short GTINTA:1;\r
+            unsigned short GTINTB:1;\r
+            unsigned short GTINTC:1;\r
+            unsigned short GTINTD:1;\r
+            unsigned short GTINTE:1;\r
+            unsigned short GTINTF:1;\r
+            unsigned short GTINTPR:2;\r
+            unsigned short :3;\r
+            unsigned short EINT:1;\r
+            unsigned short ADTRAUEN:1;\r
+            unsigned short ADTRADEN:1;\r
+            unsigned short ADTRBUEN:1;\r
+            unsigned short ADTRBDEN:1;\r
+        } BIT;\r
+    } GTINTAD;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short MD:3;\r
+            unsigned short :5;\r
+            unsigned short TPCS:2;\r
+            unsigned short :2;\r
+            unsigned short CCLR:2;\r
+            unsigned short :2;\r
+        } BIT;\r
+    } GTCR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CCRA:2;\r
+            unsigned short CCRB:2;\r
+            unsigned short PR:2;\r
+            unsigned short CCRSWT:1;\r
+            unsigned short :1;\r
+            unsigned short ADTTA:2;\r
+            unsigned short ADTDA:1;\r
+            unsigned short :1;\r
+            unsigned short ADTTB:2;\r
+            unsigned short ADTDB:1;\r
+            unsigned short :1;\r
+        } BIT;\r
+    } GTBER;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short UD:1;\r
+            unsigned short UDF:1;\r
+            unsigned short :14;\r
+        } BIT;\r
+    } GTUDC;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ITLA:1;\r
+            unsigned short ITLB:1;\r
+            unsigned short ITLC:1;\r
+            unsigned short ITLD:1;\r
+            unsigned short ITLE:1;\r
+            unsigned short ITLF:1;\r
+            unsigned short IVTC:2;\r
+            unsigned short IVTT:3;\r
+            unsigned short :1;\r
+            unsigned short ADTAL:1;\r
+            unsigned short :1;\r
+            unsigned short ADTBL:1;\r
+            unsigned short :1;\r
+        } BIT;\r
+    } GTITC;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :8;\r
+            unsigned short ITCNT:3;\r
+            unsigned short DTEF:1;\r
+            unsigned short :3;\r
+            unsigned short TUCF:1;\r
+        } BIT;\r
+    } GTST;\r
+    unsigned short GTCNT;\r
+    unsigned short GTCCRA;\r
+    unsigned short GTCCRB;\r
+    unsigned short GTCCRC;\r
+    unsigned short GTCCRD;\r
+    unsigned short GTCCRE;\r
+    unsigned short GTCCRF;\r
+    unsigned short GTPR;\r
+    unsigned short GTPBR;\r
+    unsigned short GTPDBR;\r
+    char           wk0[2];\r
+    unsigned short GTADTRA;\r
+    unsigned short GTADTBRA;\r
+    unsigned short GTADTDBRA;\r
+    char           wk1[2];\r
+    unsigned short GTADTRB;\r
+    unsigned short GTADTBRB;\r
+    unsigned short GTADTDBRB;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short NEA:1;\r
+            unsigned short NEB:1;\r
+            unsigned short NVA:1;\r
+            unsigned short NVB:1;\r
+            unsigned short NFS:4;\r
+            unsigned short NFV:1;\r
+            unsigned short :3;\r
+            unsigned short SWN:1;\r
+            unsigned short :1;\r
+            unsigned short OAE:1;\r
+            unsigned short OBE:1;\r
+        } BIT;\r
+    } GTONCR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TDE:1;\r
+            unsigned short :3;\r
+            unsigned short TDBUE:1;\r
+            unsigned short TDBDE:1;\r
+            unsigned short :2;\r
+            unsigned short TDFER:1;\r
+            unsigned short :7;\r
+        } BIT;\r
+    } GTDTCR;\r
+    unsigned short GTDVU;\r
+    unsigned short GTDVD;\r
+    unsigned short GTDBU;\r
+    unsigned short GTDBD;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short SOS:2;\r
+            unsigned short :14;\r
+        } BIT;\r
+    } GTSOS;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short SOTR:1;\r
+            unsigned short :15;\r
+        } BIT;\r
+    } GTSOTR;\r
+};\r
+\r
+struct st_icu\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long IRQMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } IRQCR15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FLTEN0:1;\r
+            unsigned long FLTEN1:1;\r
+            unsigned long FLTEN2:1;\r
+            unsigned long FLTEN3:1;\r
+            unsigned long FLTEN4:1;\r
+            unsigned long FLTEN5:1;\r
+            unsigned long FLTEN6:1;\r
+            unsigned long FLTEN7:1;\r
+            unsigned long FLTEN8:1;\r
+            unsigned long FLTEN9:1;\r
+            unsigned long FLTEN10:1;\r
+            unsigned long FLTEN11:1;\r
+            unsigned long FLTEN12:1;\r
+            unsigned long FLTEN13:1;\r
+            unsigned long FLTEN14:1;\r
+            unsigned long FLTEN15:1;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } IRQFLTE;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FCLKSEL0:2;\r
+            unsigned long FCLKSEL1:2;\r
+            unsigned long FCLKSEL2:2;\r
+            unsigned long FCLKSEL3:2;\r
+            unsigned long FCLKSEL4:2;\r
+            unsigned long FCLKSEL5:2;\r
+            unsigned long FCLKSEL6:2;\r
+            unsigned long FCLKSEL7:2;\r
+            unsigned long FCLKSEL8:2;\r
+            unsigned long FCLKSEL9:2;\r
+            unsigned long FCLKSEL10:2;\r
+            unsigned long FCLKSEL11:2;\r
+            unsigned long FCLKSEL12:2;\r
+            unsigned long FCLKSEL13:2;\r
+            unsigned long FCLKSEL14:2;\r
+            unsigned long FCLKSEL15:2;\r
+        } BIT;\r
+    } IRQFLTC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NMIST:1;\r
+            unsigned long ECMST:1;\r
+            unsigned long :30;\r
+        } BIT;\r
+    } NMISR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NMICLR:1;\r
+            unsigned long ECMCLR:1;\r
+            unsigned long :30;\r
+        } BIT;\r
+    } NMICLR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :3;\r
+            unsigned long NMIMD:1;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } NMICR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NFLTEN:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } NMIFLTE;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NFCLKSEL:2;\r
+            unsigned long :30;\r
+        } BIT;\r
+    } NMIFLTC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long EPHYMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } EPHYCR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long EPHYMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } EPHYCR1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long EPHYMD:2;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } EPHYCR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EFLTEN0:1;\r
+            unsigned long EFLTEN1:1;\r
+            unsigned long EFLTEN2:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } EPHYFLTE;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EFCLKSEL0:2;\r
+            unsigned long EFCLKSEL1:2;\r
+            unsigned long EFCLKSEL2:2;\r
+            unsigned long :26;\r
+        } BIT;\r
+    } EPHYFLTC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DFLTEN0:1;\r
+            unsigned long DFLTEN1:1;\r
+            unsigned long DFLTEN2:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } DREQFLTE;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DFCLKSEL0:2;\r
+            unsigned long DFCLKSEL1:2;\r
+            unsigned long DFCLKSEL2:2;\r
+            unsigned long :26;\r
+        } BIT;\r
+    } DREQFLTC;\r
+    char           wk0[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CM3INT:1;\r
+            unsigned long :15;\r
+            unsigned long CR4INT:1;\r
+            unsigned long :15;\r
+        } BIT;\r
+    } CPUINT;\r
+};\r
+\r
+struct st_iwdt\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char REFRESH:8;\r
+        } BIT;\r
+    } IWDTRR;\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TOPS:2;\r
+            unsigned short :2;\r
+            unsigned short CKS:4;\r
+            unsigned short RPES:2;\r
+            unsigned short :2;\r
+            unsigned short RPSS:2;\r
+            unsigned short :2;\r
+        } BIT;\r
+    } IWDTCR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CNTVAL:14;\r
+            unsigned short UNDFF:1;\r
+            unsigned short REFEF:1;\r
+        } BIT;\r
+    } IWDTSR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :7;\r
+            unsigned char RSTIRQS:1;\r
+        } BIT;\r
+    } IWDTRCR;\r
+};\r
+\r
+struct st_mpc\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } P00PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } P01PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } P02PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } P03PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } P04PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } P05PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } P06PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } P07PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P10PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P11PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P12PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P13PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P14PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P15PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P16PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P17PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P20PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P21PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P22PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P23PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P24PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P25PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P26PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P27PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P30PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P31PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P32PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P33PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P34PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P35PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P36PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P37PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P40PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P41PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P42PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P43PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P44PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P45PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P46PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P47PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P50PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P51PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P52PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P53PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P54PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P55PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P56PFS;\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P60PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P61PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P62PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P63PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P64PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P65PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P66PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P67PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P70PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P71PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P72PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P73PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P74PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P75PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P76PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } P77PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P80PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P81PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P82PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P83PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P84PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P85PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P86PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P87PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P90PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P91PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P92PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P93PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P94PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P95PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P96PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } P97PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PA0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PA1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PA2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PA3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PA4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PA5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PA6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PA7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PB0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PB1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PB2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PB3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PB4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PB5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PB6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PB7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PC0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PC1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PC2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PC3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PC4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PC5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PC6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PC7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } PD0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } PD1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } PD2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } PD3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } PD4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } PD5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } PD6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :1;\r
+            unsigned char ASEL:1;\r
+        } BIT;\r
+    } PD7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PE0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PE1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PE2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PE3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PE4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PE5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PE6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PE7PFS;\r
+    char           wk1[5];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PF5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PF6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PF7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PG0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PG1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PG2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PG3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PG4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PG5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PG6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PG7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PH0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PH1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PH2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PH3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PH4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PH5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PH6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PH7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PJ0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PJ1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PJ2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PJ3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PJ4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PJ5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PJ6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PJ7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PK0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PK1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PK2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PK3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PK4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PK5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PK6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PK7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PL0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PL1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PL2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PL3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PL4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PL5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PL6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PL7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PM0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PM1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PM2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PM3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PM4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PM5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PM6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PM7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PN0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PN1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PN2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PN3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PN4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PN5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PN6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PN7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PP0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PP1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PP2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PP3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PP4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PP5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PP6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } PP7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PR0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PR1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PR2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PR3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PR4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PR5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PR6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PR7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PS0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PS1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PS2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PS3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PS4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PS5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PS6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PS7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PT0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PT1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PT2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PT3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PT4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PT5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PT6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PT7PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PU0PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PU1PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PU2PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PU3PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PU4PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PU5PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PU6PFS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PSEL:6;\r
+            unsigned char ISEL:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } PU7PFS;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :6;\r
+            unsigned char PFSWE:1;\r
+            unsigned char B0WI:1;\r
+        } BIT;\r
+    } PWPR;\r
+};\r
+\r
+struct st_mtu\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char OE3B:1;\r
+            unsigned char OE4A:1;\r
+            unsigned char OE4B:1;\r
+            unsigned char OE3D:1;\r
+            unsigned char OE4C:1;\r
+            unsigned char OE4D:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TOERA;\r
+    char           wk0[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char UF:1;\r
+            unsigned char VF:1;\r
+            unsigned char WF:1;\r
+            unsigned char FB:1;\r
+            unsigned char P:1;\r
+            unsigned char N:1;\r
+            unsigned char BDC:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } TGCRA;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char OLSP:1;\r
+            unsigned char OLSN:1;\r
+            unsigned char TOCS:1;\r
+            unsigned char TOCL:1;\r
+            unsigned char :2;\r
+            unsigned char PSYE:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } TOCR1A;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char OLS1P:1;\r
+            unsigned char OLS1N:1;\r
+            unsigned char OLS2P:1;\r
+            unsigned char OLS2N:1;\r
+            unsigned char OLS3P:1;\r
+            unsigned char OLS3N:1;\r
+            unsigned char BF:2;\r
+        } BIT;\r
+    } TOCR2A;\r
+    char           wk1[4];\r
+    unsigned short TCDRA;\r
+    unsigned short TDDRA;\r
+    char           wk2[8];\r
+    unsigned short TCNTSA;\r
+    unsigned short TCBRA;\r
+    char           wk3[12];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char T4VCOR:3;\r
+            unsigned char T4VEN:1;\r
+            unsigned char T3ACOR:3;\r
+            unsigned char T3AEN:1;\r
+        } BIT;\r
+    } TITCR1A;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char T4VCNT:3;\r
+            unsigned char :1;\r
+            unsigned char T3ACNT:3;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } TITCNT1A;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char BTE:2;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } TBTERA;\r
+    char           wk4[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TDER:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } TDERA;\r
+    char           wk5[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char OLS1P:1;\r
+            unsigned char OLS1N:1;\r
+            unsigned char OLS2P:1;\r
+            unsigned char OLS2N:1;\r
+            unsigned char OLS3P:1;\r
+            unsigned char OLS3N:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TOLBRA;\r
+    char           wk6[3];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TITM:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } TITMRA;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TRG4COR:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TITCR2A;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TRG4CNT:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TITCNT2A;\r
+    char           wk7[35];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char WRE:1;\r
+            unsigned char SCC:1;\r
+            unsigned char :5;\r
+            unsigned char CCE:1;\r
+        } BIT;\r
+    } TWCRA;\r
+    char           wk8[15];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char DRS:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } TMDR2A;\r
+    char           wk9[15];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CST0:1;\r
+            unsigned char CST1:1;\r
+            unsigned char CST2:1;\r
+            unsigned char CST8:1;\r
+            unsigned char :2;\r
+            unsigned char CST3:1;\r
+            unsigned char CST4:1;\r
+        } BIT;\r
+    } TSTRA;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SYNC0:1;\r
+            unsigned char SYNC1:1;\r
+            unsigned char SYNC2:1;\r
+            unsigned char :3;\r
+            unsigned char SYNC3:1;\r
+            unsigned char SYNC4:1;\r
+        } BIT;\r
+    } TSYRA;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SCH7:1;\r
+            unsigned char SCH6:1;\r
+            unsigned char :1;\r
+            unsigned char SCH4:1;\r
+            unsigned char SCH3:1;\r
+            unsigned char SCH2:1;\r
+            unsigned char SCH1:1;\r
+            unsigned char SCH0:1;\r
+        } BIT;\r
+    } TCSYSTR;\r
+    char           wk10[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char RWE:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } TRWERA;\r
+    char           wk11[1925];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char OE6B:1;\r
+            unsigned char OE7A:1;\r
+            unsigned char OE7B:1;\r
+            unsigned char OE6D:1;\r
+            unsigned char OE7C:1;\r
+            unsigned char OE7D:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TOERB;\r
+    char           wk12[3];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char OLSP:1;\r
+            unsigned char OLSN:1;\r
+            unsigned char TOCS:1;\r
+            unsigned char TOCL:1;\r
+            unsigned char :2;\r
+            unsigned char PSYE:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } TOCR1B;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char OLS1P:1;\r
+            unsigned char OLS1N:1;\r
+            unsigned char OLS2P:1;\r
+            unsigned char OLS2N:1;\r
+            unsigned char OLS3P:1;\r
+            unsigned char OLS3N:1;\r
+            unsigned char BF:2;\r
+        } BIT;\r
+    } TOCR2B;\r
+    char           wk13[4];\r
+    unsigned short TCDRB;\r
+    unsigned short TDDRB;\r
+    char           wk14[8];\r
+    unsigned short TCNTSB;\r
+    unsigned short TCBRB;\r
+    char           wk15[12];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char T7VCOR:3;\r
+            unsigned char T7VEN:1;\r
+            unsigned char T6ACOR:3;\r
+            unsigned char T6AEN:1;\r
+        } BIT;\r
+    } TITCR1B;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char T7VCNT:3;\r
+            unsigned char :1;\r
+            unsigned char T6ACNT:3;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } TITCNT1B;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char BTE:2;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } TBTERB;\r
+    char           wk16[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TDER:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } TDERB;\r
+    char           wk17[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char OLS1P:1;\r
+            unsigned char OLS1N:1;\r
+            unsigned char OLS2P:1;\r
+            unsigned char OLS2N:1;\r
+            unsigned char OLS3P:1;\r
+            unsigned char OLS3N:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TOLBRB;\r
+    char           wk18[3];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TITM:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } TITMRB;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TRG7COR:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TITCR2B;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TRG7CNT:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TITCNT2B;\r
+    char           wk19[35];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char WRE:1;\r
+            unsigned char SCC:1;\r
+            unsigned char :5;\r
+            unsigned char CCE:1;\r
+        } BIT;\r
+    } TWCRB;\r
+    char           wk20[15];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char DRS:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } TMDR2B;\r
+    char           wk21[15];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :6;\r
+            unsigned char CST6:1;\r
+            unsigned char CST7:1;\r
+        } BIT;\r
+    } TSTRB;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :6;\r
+            unsigned char SYNC6:1;\r
+            unsigned char SYNC7:1;\r
+        } BIT;\r
+    } TSYRB;\r
+    char           wk22[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char RWE:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } TRWERB;\r
+};\r
+\r
+struct st_mtu0\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR0;\r
+    char           wk0[8];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCSC:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCRC;\r
+    char           wk1[102];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char BFE:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } TMDR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIORH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:4;\r
+            unsigned char IOD:4;\r
+        } BIT;\r
+    } TIORL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char :2;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    char           wk2[1];\r
+    unsigned short TCNT;\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+    unsigned short TGRC;\r
+    unsigned short TGRD;\r
+    char           wk3[16];\r
+    unsigned short TGRE;\r
+    unsigned short TGRF;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEE:1;\r
+            unsigned char TGIEF:1;\r
+            unsigned char :5;\r
+            unsigned char TTGE2:1;\r
+        } BIT;\r
+    } TIER2;\r
+    char           wk4[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TTSA:1;\r
+            unsigned char TTSB:1;\r
+            unsigned char TTSE:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TBTM;\r
+    char           wk5[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TCR2;\r
+};\r
+\r
+struct st_mtu1\r
+{\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR1;\r
+    char           wk1[238];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char :4;\r
+        } BIT;\r
+    } TMDR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIOR;\r
+    char           wk2[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char :2;\r
+            unsigned char TCIEV:1;\r
+            unsigned char TCIEU:1;\r
+            unsigned char :1;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char :2;\r
+            unsigned char TCFV:1;\r
+            unsigned char TCFU:1;\r
+            unsigned char :1;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    unsigned short TCNT;\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+    char           wk3[4];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char I1AE:1;\r
+            unsigned char I1BE:1;\r
+            unsigned char I2AE:1;\r
+            unsigned char I2BE:1;\r
+            unsigned char :4;\r
+        } BIT;\r
+    } TICCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char LWA:1;\r
+            unsigned char PHCKSEL:1;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } TMDR3;\r
+    char           wk4[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char PCB:2;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } TCR2;\r
+    char           wk5[11];\r
+    unsigned long  TCNTLW;\r
+    unsigned long  TGRALW;\r
+    unsigned long  TGRBLW;\r
+};\r
+\r
+struct st_mtu2\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR2;\r
+    char           wk0[365];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char :4;\r
+        } BIT;\r
+    } TMDR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIOR;\r
+    char           wk1[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char :2;\r
+            unsigned char TCIEV:1;\r
+            unsigned char TCIEU:1;\r
+            unsigned char :1;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char :2;\r
+            unsigned char TCFV:1;\r
+            unsigned char TCFU:1;\r
+            unsigned char :1;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    unsigned short TCNT;\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char PCB:2;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } TCR2;\r
+};\r
+\r
+struct st_mtu3\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TMDR1;\r
+    char           wk1[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIORH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:4;\r
+            unsigned char IOD:4;\r
+        } BIT;\r
+    } TIORL;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char :2;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    char           wk3[7];\r
+    unsigned short TCNT;\r
+    char           wk4[6];\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+    char           wk5[8];\r
+    unsigned short TGRC;\r
+    unsigned short TGRD;\r
+    char           wk6[4];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char TGFC:1;\r
+            unsigned char TGFD:1;\r
+            unsigned char TCFV:1;\r
+            unsigned char :2;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    char           wk7[11];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TTSA:1;\r
+            unsigned char TTSB:1;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } TBTM;\r
+    char           wk8[19];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TCR2;\r
+    char           wk9[37];\r
+    unsigned short TGRE;\r
+    char           wk10[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR3;\r
+};\r
+\r
+struct st_mtu4\r
+{\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    char           wk1[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TMDR1;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIORH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:4;\r
+            unsigned char IOD:4;\r
+        } BIT;\r
+    } TIORL;\r
+    char           wk3[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char :1;\r
+            unsigned char TTGE2:1;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    char           wk4[8];\r
+    unsigned short TCNT;\r
+    char           wk5[8];\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+    char           wk6[8];\r
+    unsigned short TGRC;\r
+    unsigned short TGRD;\r
+    char           wk7[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char TGFC:1;\r
+            unsigned char TGFD:1;\r
+            unsigned char TCFV:1;\r
+            unsigned char :2;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    char           wk8[11];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TTSA:1;\r
+            unsigned char TTSB:1;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } TBTM;\r
+    char           wk9[6];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ITB4VE:1;\r
+            unsigned short ITB3AE:1;\r
+            unsigned short ITA4VE:1;\r
+            unsigned short ITA3AE:1;\r
+            unsigned short DT4BE:1;\r
+            unsigned short UT4BE:1;\r
+            unsigned short DT4AE:1;\r
+            unsigned short UT4AE:1;\r
+            unsigned short :6;\r
+            unsigned short BF:2;\r
+        } BIT;\r
+    } TADCR;\r
+    char           wk10[2];\r
+    unsigned short TADCORA;\r
+    unsigned short TADCORB;\r
+    unsigned short TADCOBRA;\r
+    unsigned short TADCOBRB;\r
+    char           wk11[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TCR2;\r
+    char           wk12[38];\r
+    unsigned short TGRE;\r
+    unsigned short TGRF;\r
+    char           wk13[28];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR4;\r
+};\r
+\r
+struct st_mtu5\r
+{\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFUEN:1;\r
+            unsigned char NFVEN:1;\r
+            unsigned char NFWEN:1;\r
+            unsigned char :1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR5;\r
+    char           wk1[490];\r
+    unsigned short TCNTU;\r
+    unsigned short TGRU;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:2;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } TCRU;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } TCR2U;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:5;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } TIORU;\r
+    char           wk2[9];\r
+    unsigned short TCNTV;\r
+    unsigned short TGRV;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:2;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } TCRV;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } TCR2V;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:5;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } TIORV;\r
+    char           wk3[9];\r
+    unsigned short TCNTW;\r
+    unsigned short TGRW;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:2;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } TCRW;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } TCR2W;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:5;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } TIORW;\r
+    char           wk4[11];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIE5W:1;\r
+            unsigned char TGIE5V:1;\r
+            unsigned char TGIE5U:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TIER;\r
+    char           wk5[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CSTW5:1;\r
+            unsigned char CSTV5:1;\r
+            unsigned char CSTU5:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TSTR;\r
+    char           wk6[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CMPCLR5W:1;\r
+            unsigned char CMPCLR5V:1;\r
+            unsigned char CMPCLR5U:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TCNTCMPCLR;\r
+};\r
+\r
+struct st_mtu6\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TMDR1;\r
+    char           wk1[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIORH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:4;\r
+            unsigned char IOD:4;\r
+        } BIT;\r
+    } TIORL;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char :2;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    char           wk3[7];\r
+    unsigned short TCNT;\r
+    char           wk4[6];\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+    char           wk5[8];\r
+    unsigned short TGRC;\r
+    unsigned short TGRD;\r
+    char           wk6[4];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char TGFC:1;\r
+            unsigned char TGFD:1;\r
+            unsigned char TCFV:1;\r
+            unsigned char :2;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    char           wk7[11];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TTSA:1;\r
+            unsigned char TTSB:1;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } TBTM;\r
+    char           wk8[19];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TCR2;\r
+    char           wk9[3];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CE2B:1;\r
+            unsigned char CE2A:1;\r
+            unsigned char CE1B:1;\r
+            unsigned char CE1A:1;\r
+            unsigned char CE0D:1;\r
+            unsigned char CE0C:1;\r
+            unsigned char CE0B:1;\r
+            unsigned char CE0A:1;\r
+        } BIT;\r
+    } TSYCR;\r
+    char           wk10[33];\r
+    unsigned short TGRE;\r
+    char           wk11[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR6;\r
+};\r
+\r
+struct st_mtu7\r
+{\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    char           wk1[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TMDR1;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIORH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:4;\r
+            unsigned char IOD:4;\r
+        } BIT;\r
+    } TIORL;\r
+    char           wk3[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char :1;\r
+            unsigned char TTGE2:1;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    char           wk4[8];\r
+    unsigned short TCNT;\r
+    char           wk5[8];\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+    char           wk6[8];\r
+    unsigned short TGRC;\r
+    unsigned short TGRD;\r
+    char           wk7[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char TGFC:1;\r
+            unsigned char TGFD:1;\r
+            unsigned char TCFV:1;\r
+            unsigned char :2;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    char           wk8[11];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TTSA:1;\r
+            unsigned char TTSB:1;\r
+            unsigned char :6;\r
+        } BIT;\r
+    } TBTM;\r
+    char           wk9[6];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ITB7VE:1;\r
+            unsigned short ITB6AE:1;\r
+            unsigned short ITA7VE:1;\r
+            unsigned short ITA6AE:1;\r
+            unsigned short DT7BE:1;\r
+            unsigned short UT7BE:1;\r
+            unsigned short DT7AE:1;\r
+            unsigned short UT7AE:1;\r
+            unsigned short :6;\r
+            unsigned short BF:2;\r
+        } BIT;\r
+    } TADCR;\r
+    char           wk10[2];\r
+    unsigned short TADCORA;\r
+    unsigned short TADCORB;\r
+    unsigned short TADCOBRA;\r
+    unsigned short TADCOBRB;\r
+    char           wk11[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TCR2;\r
+    char           wk12[38];\r
+    unsigned short TGRE;\r
+    unsigned short TGRF;\r
+    char           wk13[28];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR7;\r
+};\r
+\r
+struct st_mtu8\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR8;\r
+    char           wk0[871];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TMDR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIORH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:4;\r
+            unsigned char IOD:4;\r
+        } BIT;\r
+    } TIORL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } TIER;\r
+    char           wk1[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC2:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } TCR2;\r
+    char           wk2[1];\r
+    unsigned long  TCNT;\r
+    unsigned long  TGRA;\r
+    unsigned long  TGRB;\r
+    unsigned long  TGRC;\r
+    unsigned long  TGRD;\r
+};\r
+\r
+struct st_poe\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short POE0M:2;\r
+            unsigned short :6;\r
+            unsigned short PIE1:1;\r
+            unsigned short :3;\r
+            unsigned short POE0F:1;\r
+            unsigned short :3;\r
+        } BIT;\r
+    } ICSR1;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :8;\r
+            unsigned short OIE1:1;\r
+            unsigned short OCE1:1;\r
+            unsigned short :5;\r
+            unsigned short OSF1:1;\r
+        } BIT;\r
+    } OCSR1;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short POE4M:2;\r
+            unsigned short :6;\r
+            unsigned short PIE2:1;\r
+            unsigned short :3;\r
+            unsigned short POE4F:1;\r
+            unsigned short :3;\r
+        } BIT;\r
+    } ICSR2;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :8;\r
+            unsigned short OIE2:1;\r
+            unsigned short OCE2:1;\r
+            unsigned short :5;\r
+            unsigned short OSF2:1;\r
+        } BIT;\r
+    } OCSR2;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short POE8M:2;\r
+            unsigned short :6;\r
+            unsigned short PIE3:1;\r
+            unsigned short POE8E:1;\r
+            unsigned short :2;\r
+            unsigned short POE8F:1;\r
+            unsigned short :3;\r
+        } BIT;\r
+    } ICSR3;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MTUCH34HIZ:1;\r
+            unsigned char MTUCH67HIZ:1;\r
+            unsigned char MTUCH0HIZ:1;\r
+            unsigned char :1;\r
+            unsigned char GPT3HIZ:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } SPOER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MTU0AZE:1;\r
+            unsigned char MTU0BZE:1;\r
+            unsigned char MTU0CZE:1;\r
+            unsigned char MTU0DZE:1;\r
+            unsigned char :4;\r
+        } BIT;\r
+    } POECR1;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short MTU7BDZE:1;\r
+            unsigned short MTU7ACZE:1;\r
+            unsigned short MTU6BDZE:1;\r
+            unsigned short :5;\r
+            unsigned short MTU4BDZE:1;\r
+            unsigned short MTU4ACZE:1;\r
+            unsigned short MTU3BDZE:1;\r
+            unsigned short :5;\r
+        } BIT;\r
+    } POECR2;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :9;\r
+            unsigned short GPT3ABZE:1;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } POECR3;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :2;\r
+            unsigned short IC2ADDMT34ZE:1;\r
+            unsigned short IC3ADDMT34ZE:1;\r
+            unsigned short IC4ADDMT34ZE:1;\r
+            unsigned short IC5ADDMT34ZE:1;\r
+            unsigned short :3;\r
+            unsigned short IC1ADDMT67ZE:1;\r
+            unsigned short :1;\r
+            unsigned short IC3ADDMT67ZE:1;\r
+            unsigned short IC4ADDMT67ZE:1;\r
+            unsigned short IC5ADDMT67ZE:1;\r
+            unsigned short :2;\r
+        } BIT;\r
+    } POECR4;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :1;\r
+            unsigned short IC1ADDMT0ZE:1;\r
+            unsigned short IC2ADDMT0ZE:1;\r
+            unsigned short :1;\r
+            unsigned short IC4ADDMT0ZE:1;\r
+            unsigned short IC5ADDMT0ZE:1;\r
+            unsigned short :10;\r
+        } BIT;\r
+    } POECR5;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :9;\r
+            unsigned short IC1ADDGPT3ZE:1;\r
+            unsigned short IC2ADDGPT3ZE:1;\r
+            unsigned short IC3ADDGPT3ZE:1;\r
+            unsigned short IC4ADDGPT3ZE:1;\r
+            unsigned short :3;\r
+        } BIT;\r
+    } POECR6;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short POE10M:2;\r
+            unsigned short :6;\r
+            unsigned short PIE4:1;\r
+            unsigned short POE10E:1;\r
+            unsigned short :2;\r
+            unsigned short POE10F:1;\r
+            unsigned short :3;\r
+        } BIT;\r
+    } ICSR4;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short POE10M:2;\r
+            unsigned short :6;\r
+            unsigned short PIE5:1;\r
+            unsigned short POE10E:1;\r
+            unsigned short :2;\r
+            unsigned short POE10F:1;\r
+            unsigned short :3;\r
+        } BIT;\r
+    } ICSR5;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short OLSG0A:1;\r
+            unsigned short OLSG0B:1;\r
+            unsigned short OLSG1A:1;\r
+            unsigned short OLSG1B:1;\r
+            unsigned short OLSG2A:1;\r
+            unsigned short OLSG2B:1;\r
+            unsigned short :1;\r
+            unsigned short OLSEN:1;\r
+            unsigned short :8;\r
+        } BIT;\r
+    } ALR1;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :9;\r
+            unsigned short OSTSTE:1;\r
+            unsigned short :2;\r
+            unsigned short OSTSTF:1;\r
+            unsigned short :3;\r
+        } BIT;\r
+    } ICSR6;\r
+    char           wk0[5];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char G3ASEL:4;\r
+            unsigned char G3BSEL:4;\r
+        } BIT;\r
+    } G3SELR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char M0ASEL:4;\r
+            unsigned char M0BSEL:4;\r
+        } BIT;\r
+    } M0SELR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char M0CSEL:4;\r
+            unsigned char M0DSEL:4;\r
+        } BIT;\r
+    } M0SELR2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char M3BSEL:4;\r
+            unsigned char M3DSEL:4;\r
+        } BIT;\r
+    } M3SELR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char M4ASEL:4;\r
+            unsigned char M4CSEL:4;\r
+        } BIT;\r
+    } M4SELR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char M4BSEL:4;\r
+            unsigned char M4DSEL:4;\r
+        } BIT;\r
+    } M4SELR2;\r
+};\r
+\r
+struct st_port0\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[62];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[127];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_port1\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[61];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[128];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+    char           wk4[62];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned char H;\r
+            unsigned char L;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char :8;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } DSCR;\r
+};\r
+\r
+struct st_port2\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[60];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[129];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_port3\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[59];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[130];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_port4\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[58];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[131];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_port5\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[57];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[132];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_port6\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[56];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[133];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_port7\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[55];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[134];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_port8\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[54];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[135];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_port9\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[53];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[136];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_porta\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[52];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[137];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portb\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[51];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[138];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portc\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[50];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+};\r
+\r
+struct st_portd\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[49];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[140];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_porte\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[48];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[141];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portf\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[47];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[142];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portg\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[46];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[143];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_porth\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[45];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[144];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portj\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[44];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[145];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portk\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[43];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[146];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portl\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[42];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[147];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portm\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[41];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[148];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portn\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[40];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[149];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portp\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[39];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[150];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portr\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[38];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[151];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_ports\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[37];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[152];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portt\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[36];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[153];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_portu\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PDR;\r
+    char           wk0[35];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PODR;\r
+    char           wk1[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PIDR;\r
+    char           wk2[31];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char B0:1;\r
+            unsigned char B1:1;\r
+            unsigned char B2:1;\r
+            unsigned char B3:1;\r
+            unsigned char B4:1;\r
+            unsigned char B5:1;\r
+            unsigned char B6:1;\r
+            unsigned char B7:1;\r
+        } BIT;\r
+    } PMR;\r
+    char           wk3[154];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short B0:2;\r
+            unsigned short B1:2;\r
+            unsigned short B2:2;\r
+            unsigned short B3:2;\r
+            unsigned short B4:2;\r
+            unsigned short B5:2;\r
+            unsigned short B6:2;\r
+            unsigned short B7:2;\r
+        } BIT;\r
+    } PCR;\r
+};\r
+\r
+struct st_ppg0\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char G0CMS:2;\r
+            unsigned char G1CMS:2;\r
+            unsigned char G2CMS:2;\r
+            unsigned char G3CMS:2;\r
+        } BIT;\r
+    } PCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char G0NOV:1;\r
+            unsigned char G1NOV:1;\r
+            unsigned char G2NOV:1;\r
+            unsigned char G3NOV:1;\r
+            unsigned char G0INV:1;\r
+            unsigned char G1INV:1;\r
+            unsigned char G2INV:1;\r
+            unsigned char G3INV:1;\r
+        } BIT;\r
+    } PMR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDER8:1;\r
+            unsigned char NDER9:1;\r
+            unsigned char NDER10:1;\r
+            unsigned char NDER11:1;\r
+            unsigned char NDER12:1;\r
+            unsigned char NDER13:1;\r
+            unsigned char NDER14:1;\r
+            unsigned char NDER15:1;\r
+        } BIT;\r
+    } NDERH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDER0:1;\r
+            unsigned char NDER1:1;\r
+            unsigned char NDER2:1;\r
+            unsigned char NDER3:1;\r
+            unsigned char NDER4:1;\r
+            unsigned char NDER5:1;\r
+            unsigned char NDER6:1;\r
+            unsigned char NDER7:1;\r
+        } BIT;\r
+    } NDERL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char POD8:1;\r
+            unsigned char POD9:1;\r
+            unsigned char POD10:1;\r
+            unsigned char POD11:1;\r
+            unsigned char POD12:1;\r
+            unsigned char POD13:1;\r
+            unsigned char POD14:1;\r
+            unsigned char POD15:1;\r
+        } BIT;\r
+    } PODRH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char POD0:1;\r
+            unsigned char POD1:1;\r
+            unsigned char POD2:1;\r
+            unsigned char POD3:1;\r
+            unsigned char POD4:1;\r
+            unsigned char POD5:1;\r
+            unsigned char POD6:1;\r
+            unsigned char POD7:1;\r
+        } BIT;\r
+    } PODRL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDR8:1;\r
+            unsigned char NDR9:1;\r
+            unsigned char NDR10:1;\r
+            unsigned char NDR11:1;\r
+            unsigned char NDR12:1;\r
+            unsigned char NDR13:1;\r
+            unsigned char NDR14:1;\r
+            unsigned char NDR15:1;\r
+        } BIT;\r
+    } NDRH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDR0:1;\r
+            unsigned char NDR1:1;\r
+            unsigned char NDR2:1;\r
+            unsigned char NDR3:1;\r
+            unsigned char NDR4:1;\r
+            unsigned char NDR5:1;\r
+            unsigned char NDR6:1;\r
+            unsigned char NDR7:1;\r
+        } BIT;\r
+    } NDRL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDR8:1;\r
+            unsigned char NDR9:1;\r
+            unsigned char NDR10:1;\r
+            unsigned char NDR11:1;\r
+            unsigned char NDR12:1;\r
+            unsigned char NDR13:1;\r
+            unsigned char NDR14:1;\r
+            unsigned char NDR15:1;\r
+        } BIT;\r
+    } NDRH2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDR0:1;\r
+            unsigned char NDR1:1;\r
+            unsigned char NDR2:1;\r
+            unsigned char NDR3:1;\r
+            unsigned char NDR4:1;\r
+            unsigned char NDR5:1;\r
+            unsigned char NDR6:1;\r
+            unsigned char NDR7:1;\r
+        } BIT;\r
+    } NDRL2;\r
+};\r
+\r
+struct st_ppg1\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char G0CMS:2;\r
+            unsigned char G1CMS:2;\r
+            unsigned char G2CMS:2;\r
+            unsigned char G3CMS:2;\r
+        } BIT;\r
+    } PCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char G0NOV:1;\r
+            unsigned char G1NOV:1;\r
+            unsigned char G2NOV:1;\r
+            unsigned char G3NOV:1;\r
+            unsigned char G0INV:1;\r
+            unsigned char G1INV:1;\r
+            unsigned char G2INV:1;\r
+            unsigned char G3INV:1;\r
+        } BIT;\r
+    } PMR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDER8:1;\r
+            unsigned char NDER9:1;\r
+            unsigned char NDER10:1;\r
+            unsigned char NDER11:1;\r
+            unsigned char NDER12:1;\r
+            unsigned char NDER13:1;\r
+            unsigned char NDER14:1;\r
+            unsigned char NDER15:1;\r
+        } BIT;\r
+    } NDERH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDER0:1;\r
+            unsigned char NDER1:1;\r
+            unsigned char NDER2:1;\r
+            unsigned char NDER3:1;\r
+            unsigned char NDER4:1;\r
+            unsigned char NDER5:1;\r
+            unsigned char NDER6:1;\r
+            unsigned char NDER7:1;\r
+        } BIT;\r
+    } NDERL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char POD8:1;\r
+            unsigned char POD9:1;\r
+            unsigned char POD10:1;\r
+            unsigned char POD11:1;\r
+            unsigned char POD12:1;\r
+            unsigned char POD13:1;\r
+            unsigned char POD14:1;\r
+            unsigned char POD15:1;\r
+        } BIT;\r
+    } PODRH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char POD0:1;\r
+            unsigned char POD1:1;\r
+            unsigned char POD2:1;\r
+            unsigned char POD3:1;\r
+            unsigned char POD4:1;\r
+            unsigned char POD5:1;\r
+            unsigned char POD6:1;\r
+            unsigned char POD7:1;\r
+        } BIT;\r
+    } PODRL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDR8:1;\r
+            unsigned char NDR9:1;\r
+            unsigned char NDR10:1;\r
+            unsigned char NDR11:1;\r
+            unsigned char NDR12:1;\r
+            unsigned char NDR13:1;\r
+            unsigned char NDR14:1;\r
+            unsigned char NDR15:1;\r
+        } BIT;\r
+    } NDRH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDR0:1;\r
+            unsigned char NDR1:1;\r
+            unsigned char NDR2:1;\r
+            unsigned char NDR3:1;\r
+            unsigned char NDR4:1;\r
+            unsigned char NDR5:1;\r
+            unsigned char NDR6:1;\r
+            unsigned char NDR7:1;\r
+        } BIT;\r
+    } NDRL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDR8:1;\r
+            unsigned char NDR9:1;\r
+            unsigned char NDR10:1;\r
+            unsigned char NDR11:1;\r
+            unsigned char NDR12:1;\r
+            unsigned char NDR13:1;\r
+            unsigned char NDR14:1;\r
+            unsigned char NDR15:1;\r
+        } BIT;\r
+    } NDRH2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NDR0:1;\r
+            unsigned char NDR1:1;\r
+            unsigned char NDR2:1;\r
+            unsigned char NDR3:1;\r
+            unsigned char NDR4:1;\r
+            unsigned char NDR5:1;\r
+            unsigned char NDR6:1;\r
+            unsigned char NDR7:1;\r
+        } BIT;\r
+    } NDRL2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char PTRSL:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } PTRSLR;\r
+};\r
+\r
+struct st_riic\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SDAI:1;\r
+            unsigned char SCLI:1;\r
+            unsigned char SDAO:1;\r
+            unsigned char SCLO:1;\r
+            unsigned char SOWP:1;\r
+            unsigned char CLO:1;\r
+            unsigned char IICRST:1;\r
+            unsigned char ICE:1;\r
+        } BIT;\r
+    } ICCR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :1;\r
+            unsigned char ST:1;\r
+            unsigned char RS:1;\r
+            unsigned char SP:1;\r
+            unsigned char :1;\r
+            unsigned char TRS:1;\r
+            unsigned char MST:1;\r
+            unsigned char BBSY:1;\r
+        } BIT;\r
+    } ICCR2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char BC:3;\r
+            unsigned char BCWP:1;\r
+            unsigned char CKS:3;\r
+            unsigned char MTWP:1;\r
+        } BIT;\r
+    } ICMR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMOS:1;\r
+            unsigned char TMOL:1;\r
+            unsigned char TMOH:1;\r
+            unsigned char :1;\r
+            unsigned char SDDL:3;\r
+            unsigned char DLCS:1;\r
+        } BIT;\r
+    } ICMR2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NF:2;\r
+            unsigned char ACKBR:1;\r
+            unsigned char ACKBT:1;\r
+            unsigned char ACKWP:1;\r
+            unsigned char RDRFS:1;\r
+            unsigned char WAIT:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } ICMR3;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMOE:1;\r
+            unsigned char MALE:1;\r
+            unsigned char NALE:1;\r
+            unsigned char SALE:1;\r
+            unsigned char NACKE:1;\r
+            unsigned char NFE:1;\r
+            unsigned char SCLE:1;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } ICFER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SAR0E:1;\r
+            unsigned char SAR1E:1;\r
+            unsigned char SAR2E:1;\r
+            unsigned char GCAE:1;\r
+            unsigned char :1;\r
+            unsigned char DIDE:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } ICSER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMOIE:1;\r
+            unsigned char ALIE:1;\r
+            unsigned char STIE:1;\r
+            unsigned char SPIE:1;\r
+            unsigned char NAKIE:1;\r
+            unsigned char RIE:1;\r
+            unsigned char TEIE:1;\r
+            unsigned char TIE:1;\r
+        } BIT;\r
+    } ICIER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char AAS0:1;\r
+            unsigned char AAS1:1;\r
+            unsigned char AAS2:1;\r
+            unsigned char GCA:1;\r
+            unsigned char :1;\r
+            unsigned char DID:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } ICSR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMOF:1;\r
+            unsigned char AL:1;\r
+            unsigned char START:1;\r
+            unsigned char STOP:1;\r
+            unsigned char NACKF:1;\r
+            unsigned char RDRF:1;\r
+            unsigned char TEND:1;\r
+            unsigned char TDRE:1;\r
+        } BIT;\r
+    } ICSR2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SVA0:1;\r
+            unsigned char SVA:7;\r
+        } BIT;\r
+    } ICSARL0;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char FS:1;\r
+            unsigned char SVA:2;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } ICSARU0;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SVA0:1;\r
+            unsigned char SVA:7;\r
+        } BIT;\r
+    } ICSARL1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char FS:1;\r
+            unsigned char SVA:2;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } ICSARU1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SVA0:1;\r
+            unsigned char SVA:7;\r
+        } BIT;\r
+    } ICSARL2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char FS:1;\r
+            unsigned char SVA:2;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } ICSARU2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char BRL:5;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } ICBRL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char BRH:5;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } ICBRH;\r
+    unsigned char  ICDRT;\r
+    unsigned char  ICDRR;\r
+};\r
+\r
+struct st_rscan\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long BRP:10;\r
+            unsigned long :6;\r
+            unsigned long TSEG1:4;\r
+            unsigned long TSEG2:3;\r
+            unsigned long :1;\r
+            unsigned long SJW:2;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0C0CFG;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CHMDC:2;\r
+            unsigned char CSLPR:1;\r
+            unsigned char RTBO:1;\r
+            unsigned char :4;\r
+            unsigned char BEIE:1;\r
+            unsigned char EWIE:1;\r
+            unsigned char EPIE:1;\r
+            unsigned char BOEIE:1;\r
+            unsigned char BORIE:1;\r
+            unsigned char OLIE:1;\r
+            unsigned char BLIE:1;\r
+            unsigned char ALIE:1;\r
+            unsigned char TAIE:1;\r
+            unsigned char :4;\r
+            unsigned char BOM:2;\r
+            unsigned char ERRD:1;\r
+            unsigned char CTME:1;\r
+            unsigned char CTMS:2;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0C0CTR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CRSTSTS:1;\r
+            unsigned char CHLTSTS:1;\r
+            unsigned char CSLPSTS:1;\r
+            unsigned char EPSTS:1;\r
+            unsigned char BOSTS:1;\r
+            unsigned char TRMSTS:1;\r
+            unsigned char RECSTS:1;\r
+            unsigned char COMSTS:1;\r
+            unsigned char :8;\r
+            unsigned char REC:8;\r
+            unsigned char TEC:8;\r
+        } BIT;\r
+    } RSCAN0C0STS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long BEF:1;\r
+            unsigned long EWF:1;\r
+            unsigned long EPF:1;\r
+            unsigned long BOEF:1;\r
+            unsigned long BORF:1;\r
+            unsigned long OVLF:1;\r
+            unsigned long BLF:1;\r
+            unsigned long ALF:1;\r
+            unsigned long SERR:1;\r
+            unsigned long FERR:1;\r
+            unsigned long AERR:1;\r
+            unsigned long CERR:1;\r
+            unsigned long B1ERR:1;\r
+            unsigned long B0ERR:1;\r
+            unsigned long ADERR:1;\r
+            unsigned long :1;\r
+            unsigned long CRCREG:15;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } RSCAN0C0ERFL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long BRP:10;\r
+            unsigned long :6;\r
+            unsigned long TSEG1:4;\r
+            unsigned long TSEG2:3;\r
+            unsigned long :1;\r
+            unsigned long SJW:2;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0C1CFG;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CHMDC:2;\r
+            unsigned char CSLPR:1;\r
+            unsigned char RTBO:1;\r
+            unsigned char :4;\r
+            unsigned char BEIE:1;\r
+            unsigned char EWIE:1;\r
+            unsigned char EPIE:1;\r
+            unsigned char BOEIE:1;\r
+            unsigned char BORIE:1;\r
+            unsigned char OLIE:1;\r
+            unsigned char BLIE:1;\r
+            unsigned char ALIE:1;\r
+            unsigned char TAIE:1;\r
+            unsigned char :4;\r
+            unsigned char BOM:2;\r
+            unsigned char ERRD:1;\r
+            unsigned char CTME:1;\r
+            unsigned char CTMS:2;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0C1CTR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CRSTSTS:1;\r
+            unsigned char CHLTSTS:1;\r
+            unsigned char CSLPSTS:1;\r
+            unsigned char EPSTS:1;\r
+            unsigned char BOSTS:1;\r
+            unsigned char TRMSTS:1;\r
+            unsigned char RECSTS:1;\r
+            unsigned char COMSTS:1;\r
+            unsigned char :8;\r
+            unsigned char REC:8;\r
+            unsigned char TEC:8;\r
+        } BIT;\r
+    } RSCAN0C1STS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long BEF:1;\r
+            unsigned long EWF:1;\r
+            unsigned long EPF:1;\r
+            unsigned long BOEF:1;\r
+            unsigned long BORF:1;\r
+            unsigned long OVLF:1;\r
+            unsigned long BLF:1;\r
+            unsigned long ALF:1;\r
+            unsigned long SERR:1;\r
+            unsigned long FERR:1;\r
+            unsigned long AERR:1;\r
+            unsigned long CERR:1;\r
+            unsigned long B1ERR:1;\r
+            unsigned long B0ERR:1;\r
+            unsigned long ADERR:1;\r
+            unsigned long :1;\r
+            unsigned long CRCREG:15;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } RSCAN0C1ERFL;\r
+    char           wk0[100];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TPRI:1;\r
+            unsigned long DCE:1;\r
+            unsigned long DRE:1;\r
+            unsigned long MME:1;\r
+            unsigned long DCS:1;\r
+            unsigned long :3;\r
+            unsigned long TSP:4;\r
+            unsigned long TSSS:1;\r
+            unsigned long TSBTCS:3;\r
+            unsigned long ITRCP:16;\r
+        } BIT;\r
+    } RSCAN0GCFG;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char GMDC:2;\r
+            unsigned char GSLPR:1;\r
+            unsigned char :5;\r
+            unsigned char DEIE:1;\r
+            unsigned char MEIE:1;\r
+            unsigned char THLEIE:1;\r
+            unsigned char :5;\r
+            unsigned char TSRST:1;\r
+            unsigned char :7;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0GCTR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char GRSTSTS:1;\r
+            unsigned char GHLTSTS:1;\r
+            unsigned char GSLPSTS:1;\r
+            unsigned char GRAMINIT:1;\r
+            unsigned char :4;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0GSTS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char DEF:1;\r
+            unsigned char MES:1;\r
+            unsigned char THLES:1;\r
+            unsigned char :5;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0GERFL;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned long TS:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } RSCAN0GTSC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char AFLPN:5;\r
+            unsigned char :3;\r
+            unsigned char AFLDAE:1;\r
+            unsigned char :7;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0GAFLECTR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char RNC1:8;\r
+            unsigned char RNC0:8;\r
+        } BIT;\r
+    } RSCAN0GAFLCFG0;\r
+    char           wk1[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char NRXMB:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RMNB;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short RMNSq_l;\r
+            unsigned short RMNSq_h;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+    } RSCAN0RMND0;\r
+    char           wk2[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFE:1;\r
+            unsigned char RFIE:1;\r
+            unsigned char :6;\r
+            unsigned char RFDC:3;\r
+            unsigned char :1;\r
+            unsigned char RFIM:1;\r
+            unsigned char RFIGCV:3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFCC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFE:1;\r
+            unsigned char RFIE:1;\r
+            unsigned char :6;\r
+            unsigned char RFDC:3;\r
+            unsigned char :1;\r
+            unsigned char RFIM:1;\r
+            unsigned char RFIGCV:3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFCC1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFE:1;\r
+            unsigned char RFIE:1;\r
+            unsigned char :6;\r
+            unsigned char RFDC:3;\r
+            unsigned char :1;\r
+            unsigned char RFIM:1;\r
+            unsigned char RFIGCV:3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFCC2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFE:1;\r
+            unsigned char RFIE:1;\r
+            unsigned char :6;\r
+            unsigned char RFDC:3;\r
+            unsigned char :1;\r
+            unsigned char RFIM:1;\r
+            unsigned char RFIGCV:3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFCC3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFE:1;\r
+            unsigned char RFIE:1;\r
+            unsigned char :6;\r
+            unsigned char RFDC:3;\r
+            unsigned char :1;\r
+            unsigned char RFIM:1;\r
+            unsigned char RFIGCV:3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFCC4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFE:1;\r
+            unsigned char RFIE:1;\r
+            unsigned char :6;\r
+            unsigned char RFDC:3;\r
+            unsigned char :1;\r
+            unsigned char RFIM:1;\r
+            unsigned char RFIGCV:3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFCC5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFE:1;\r
+            unsigned char RFIE:1;\r
+            unsigned char :6;\r
+            unsigned char RFDC:3;\r
+            unsigned char :1;\r
+            unsigned char RFIM:1;\r
+            unsigned char RFIGCV:3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFCC6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFE:1;\r
+            unsigned char RFIE:1;\r
+            unsigned char :6;\r
+            unsigned char RFDC:3;\r
+            unsigned char :1;\r
+            unsigned char RFIM:1;\r
+            unsigned char RFIGCV:3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFCC7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFEMP:1;\r
+            unsigned char RFFLL:1;\r
+            unsigned char RFMLT:1;\r
+            unsigned char RFIF:1;\r
+            unsigned char :4;\r
+            unsigned char RFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFSTS0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFEMP:1;\r
+            unsigned char RFFLL:1;\r
+            unsigned char RFMLT:1;\r
+            unsigned char RFIF:1;\r
+            unsigned char :4;\r
+            unsigned char RFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFSTS1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFEMP:1;\r
+            unsigned char RFFLL:1;\r
+            unsigned char RFMLT:1;\r
+            unsigned char RFIF:1;\r
+            unsigned char :4;\r
+            unsigned char RFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFSTS2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFEMP:1;\r
+            unsigned char RFFLL:1;\r
+            unsigned char RFMLT:1;\r
+            unsigned char RFIF:1;\r
+            unsigned char :4;\r
+            unsigned char RFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFSTS3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFEMP:1;\r
+            unsigned char RFFLL:1;\r
+            unsigned char RFMLT:1;\r
+            unsigned char RFIF:1;\r
+            unsigned char :4;\r
+            unsigned char RFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFSTS4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFEMP:1;\r
+            unsigned char RFFLL:1;\r
+            unsigned char RFMLT:1;\r
+            unsigned char RFIF:1;\r
+            unsigned char :4;\r
+            unsigned char RFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFSTS5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFEMP:1;\r
+            unsigned char RFFLL:1;\r
+            unsigned char RFMLT:1;\r
+            unsigned char RFIF:1;\r
+            unsigned char :4;\r
+            unsigned char RFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFSTS6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFEMP:1;\r
+            unsigned char RFFLL:1;\r
+            unsigned char RFMLT:1;\r
+            unsigned char RFIF:1;\r
+            unsigned char :4;\r
+            unsigned char RFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFSTS7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFPCTR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFPCTR1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFPCTR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFPCTR3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFPCTR4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFPCTR5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFPCTR6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFPCTR7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFE:1;\r
+            unsigned char CFRXIE:1;\r
+            unsigned char CFTXIE:1;\r
+            unsigned char :5;\r
+            unsigned char CFDC:3;\r
+            unsigned char :1;\r
+            unsigned char CFIM:1;\r
+            unsigned char CFIGCV:3;\r
+            unsigned char CFM:2;\r
+            unsigned char CFITSS:1;\r
+            unsigned char CFITR:1;\r
+            unsigned char CFTML:4;\r
+            unsigned char CFITT:8;\r
+        } BIT;\r
+    } RSCAN0CFCC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFE:1;\r
+            unsigned char CFRXIE:1;\r
+            unsigned char CFTXIE:1;\r
+            unsigned char :5;\r
+            unsigned char CFDC:3;\r
+            unsigned char :1;\r
+            unsigned char CFIM:1;\r
+            unsigned char CFIGCV:3;\r
+            unsigned char CFM:2;\r
+            unsigned char CFITSS:1;\r
+            unsigned char CFITR:1;\r
+            unsigned char CFTML:4;\r
+            unsigned char CFITT:8;\r
+        } BIT;\r
+    } RSCAN0CFCC1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFE:1;\r
+            unsigned char CFRXIE:1;\r
+            unsigned char CFTXIE:1;\r
+            unsigned char :5;\r
+            unsigned char CFDC:3;\r
+            unsigned char :1;\r
+            unsigned char CFIM:1;\r
+            unsigned char CFIGCV:3;\r
+            unsigned char CFM:2;\r
+            unsigned char CFITSS:1;\r
+            unsigned char CFITR:1;\r
+            unsigned char CFTML:4;\r
+            unsigned char CFITT:8;\r
+        } BIT;\r
+    } RSCAN0CFCC2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFE:1;\r
+            unsigned char CFRXIE:1;\r
+            unsigned char CFTXIE:1;\r
+            unsigned char :5;\r
+            unsigned char CFDC:3;\r
+            unsigned char :1;\r
+            unsigned char CFIM:1;\r
+            unsigned char CFIGCV:3;\r
+            unsigned char CFM:2;\r
+            unsigned char CFITSS:1;\r
+            unsigned char CFITR:1;\r
+            unsigned char CFTML:4;\r
+            unsigned char CFITT:8;\r
+        } BIT;\r
+    } RSCAN0CFCC3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFE:1;\r
+            unsigned char CFRXIE:1;\r
+            unsigned char CFTXIE:1;\r
+            unsigned char :5;\r
+            unsigned char CFDC:3;\r
+            unsigned char :1;\r
+            unsigned char CFIM:1;\r
+            unsigned char CFIGCV:3;\r
+            unsigned char CFM:2;\r
+            unsigned char CFITSS:1;\r
+            unsigned char CFITR:1;\r
+            unsigned char CFTML:4;\r
+            unsigned char CFITT:8;\r
+        } BIT;\r
+    } RSCAN0CFCC4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFE:1;\r
+            unsigned char CFRXIE:1;\r
+            unsigned char CFTXIE:1;\r
+            unsigned char :5;\r
+            unsigned char CFDC:3;\r
+            unsigned char :1;\r
+            unsigned char CFIM:1;\r
+            unsigned char CFIGCV:3;\r
+            unsigned char CFM:2;\r
+            unsigned char CFITSS:1;\r
+            unsigned char CFITR:1;\r
+            unsigned char CFTML:4;\r
+            unsigned char CFITT:8;\r
+        } BIT;\r
+    } RSCAN0CFCC5;\r
+    char           wk3[72];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFEMP:1;\r
+            unsigned char CFFLL:1;\r
+            unsigned char CFMLT:1;\r
+            unsigned char CFRXIF:1;\r
+            unsigned char CFTXIF:1;\r
+            unsigned char :3;\r
+            unsigned char CFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFSTS0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFEMP:1;\r
+            unsigned char CFFLL:1;\r
+            unsigned char CFMLT:1;\r
+            unsigned char CFRXIF:1;\r
+            unsigned char CFTXIF:1;\r
+            unsigned char :3;\r
+            unsigned char CFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFSTS1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFEMP:1;\r
+            unsigned char CFFLL:1;\r
+            unsigned char CFMLT:1;\r
+            unsigned char CFRXIF:1;\r
+            unsigned char CFTXIF:1;\r
+            unsigned char :3;\r
+            unsigned char CFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFSTS2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFEMP:1;\r
+            unsigned char CFFLL:1;\r
+            unsigned char CFMLT:1;\r
+            unsigned char CFRXIF:1;\r
+            unsigned char CFTXIF:1;\r
+            unsigned char :3;\r
+            unsigned char CFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFSTS3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFEMP:1;\r
+            unsigned char CFFLL:1;\r
+            unsigned char CFMLT:1;\r
+            unsigned char CFRXIF:1;\r
+            unsigned char CFTXIF:1;\r
+            unsigned char :3;\r
+            unsigned char CFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFSTS4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFEMP:1;\r
+            unsigned char CFFLL:1;\r
+            unsigned char CFMLT:1;\r
+            unsigned char CFRXIF:1;\r
+            unsigned char CFTXIF:1;\r
+            unsigned char :3;\r
+            unsigned char CFMC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFSTS5;\r
+    char           wk4[72];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFPCTR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFPCTR1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFPCTR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFPCTR3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFPCTR4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CFPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFPCTR5;\r
+    char           wk5[72];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RF0EMP:1;\r
+            unsigned char RF1EMP:1;\r
+            unsigned char RF2EMP:1;\r
+            unsigned char RF3EMP:1;\r
+            unsigned char RF4EMP:1;\r
+            unsigned char RF5EMP:1;\r
+            unsigned char RF6EMP:1;\r
+            unsigned char RF7EMP:1;\r
+            unsigned char CF0EMP:1;\r
+            unsigned char CF1EMP:1;\r
+            unsigned char CF2EMP:1;\r
+            unsigned char CF3EMP:1;\r
+            unsigned char CF4EMP:1;\r
+            unsigned char CF5EMP:1;\r
+            unsigned char :2;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0FESTS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RF0FLL:1;\r
+            unsigned char RF1FLL:1;\r
+            unsigned char RF2FLL:1;\r
+            unsigned char RF3FLL:1;\r
+            unsigned char RF4FLL:1;\r
+            unsigned char RF5FLL:1;\r
+            unsigned char RF6FLL:1;\r
+            unsigned char RF7FLL:1;\r
+            unsigned char CF0FLL:1;\r
+            unsigned char CF1FLL:1;\r
+            unsigned char CF2FLL:1;\r
+            unsigned char CF3FLL:1;\r
+            unsigned char CF4FLL:1;\r
+            unsigned char CF5FLL:1;\r
+            unsigned char :2;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0FFSTS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RF0MLT:1;\r
+            unsigned char RF1MLT:1;\r
+            unsigned char RF2MLT:1;\r
+            unsigned char RF3MLT:1;\r
+            unsigned char RF4MLT:1;\r
+            unsigned char RF5MLT:1;\r
+            unsigned char RF6MLT:1;\r
+            unsigned char RF7MLT:1;\r
+            unsigned char CF0MLT:1;\r
+            unsigned char CF1MLT:1;\r
+            unsigned char CF2MLT:1;\r
+            unsigned char CF3MLT:1;\r
+            unsigned char CF4MLT:1;\r
+            unsigned char CF5MLT:1;\r
+            unsigned char :2;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0FMSTS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char RF0IF:1;\r
+            unsigned char RF1IF:1;\r
+            unsigned char RF2IF:1;\r
+            unsigned char RF3IF:1;\r
+            unsigned char RF4IF:1;\r
+            unsigned char RF5IF:1;\r
+            unsigned char RF6IF:1;\r
+            unsigned char RF7IF:1;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0RFISTS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CF0RXIF:1;\r
+            unsigned char CF1RXIF:1;\r
+            unsigned char CF2RXIF:1;\r
+            unsigned char CF3RXIF:1;\r
+            unsigned char CF4RXIF:1;\r
+            unsigned char CF5RXIF:1;\r
+            unsigned char :2;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFRISTS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char CF0TXIF:1;\r
+            unsigned char CF1TXIF:1;\r
+            unsigned char CF2TXIF:1;\r
+            unsigned char CF3TXIF:1;\r
+            unsigned char CF4TXIF:1;\r
+            unsigned char CF5TXIF:1;\r
+            unsigned char :2;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0CFTISTS;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC0;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC3;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC4;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC5;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC6;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC7;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC8;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC9;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC10;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC11;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC12;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC13;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC14;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC15;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC16;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC17;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC18;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC19;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC20;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC21;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC22;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC23;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC24;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC25;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC26;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC27;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC28;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC29;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC30;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTR:1;\r
+            unsigned char TMTAR:1;\r
+            unsigned char TMOM:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } RSCAN0TMC31;\r
+    char           wk6[96];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS0;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS3;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS4;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS5;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS6;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS7;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS8;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS9;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS10;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS11;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS12;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS13;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS14;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS15;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS16;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS17;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS18;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS19;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS20;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS21;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS22;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS23;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS24;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS25;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS26;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS27;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS28;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS29;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS30;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TMTSTS:1;\r
+            unsigned char TMTRF:2;\r
+            unsigned char TMTRM:1;\r
+            unsigned char TMTARM:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } RSCAN0TMSTS31;\r
+    char           wk7[96];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short TMTRSTSp_l;\r
+            unsigned short TMTRSTSp_h;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+    } RSCAN0TMTRSTS0;\r
+    char           wk8[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short TMTARSTSp_l;\r
+            unsigned short TMTARSTSp_h;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+    } RSCAN0TMTARSTS0;\r
+    char           wk9[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short TMTCSTSp_l;\r
+            unsigned short TMTCSTSp_h;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+    } RSCAN0TMTCSTS0;\r
+    char           wk10[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short TMTASTSp_l;\r
+            unsigned short TMTASTSp_h;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+    } RSCAN0TMTASTS0;\r
+    char           wk11[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short TMIEp_l;\r
+            unsigned short TMIEp_h;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+    } RSCAN0TMIEC0;\r
+    char           wk12[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char TXQE:1;\r
+            unsigned char :7;\r
+            unsigned char TXQDC:4;\r
+            unsigned char TXQIE:1;\r
+            unsigned char TXQIM:1;\r
+            unsigned char :2;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0TXQCC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char TXQE:1;\r
+            unsigned char :7;\r
+            unsigned char TXQDC:4;\r
+            unsigned char TXQIE:1;\r
+            unsigned char TXQIM:1;\r
+            unsigned char :2;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0TXQCC1;\r
+    char           wk13[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char TXQEMP:1;\r
+            unsigned char TXQFLL:1;\r
+            unsigned char TXQIF:1;\r
+            unsigned char :5;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0TXQSTS0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char TXQEMP:1;\r
+            unsigned char TXQFLL:1;\r
+            unsigned char TXQIF:1;\r
+            unsigned char :5;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0TXQSTS1;\r
+    char           wk14[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char TXQPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0TXQPCTR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char TXQPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0TXQPCTR1;\r
+    char           wk15[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char THLE:1;\r
+            unsigned char :7;\r
+            unsigned char THLIE:1;\r
+            unsigned char THLIM:1;\r
+            unsigned char THLDTE:1;\r
+            unsigned char :5;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0THLCC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char THLE:1;\r
+            unsigned char :7;\r
+            unsigned char THLIE:1;\r
+            unsigned char THLIM:1;\r
+            unsigned char THLDTE:1;\r
+            unsigned char :5;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0THLCC1;\r
+    char           wk16[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char THLEMP:1;\r
+            unsigned char THLFLL:1;\r
+            unsigned char THLELT:1;\r
+            unsigned char THLIF:1;\r
+            unsigned char :4;\r
+            unsigned char THLMC:5;\r
+            unsigned char :3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0THLSTS0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char THLEMP:1;\r
+            unsigned char THLFLL:1;\r
+            unsigned char THLELT:1;\r
+            unsigned char THLIF:1;\r
+            unsigned char :4;\r
+            unsigned char THLMC:5;\r
+            unsigned char :3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0THLSTS1;\r
+    char           wk17[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char THLPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0THLPCTR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char THLPC:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0THLPCTR1;\r
+    char           wk18[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char TSIF0:1;\r
+            unsigned char TAIF0:1;\r
+            unsigned char TQIF0:1;\r
+            unsigned char CFTIF0:1;\r
+            unsigned char THIF0:1;\r
+            unsigned char :3;\r
+            unsigned char TSIF1:1;\r
+            unsigned char TAIF1:1;\r
+            unsigned char TQIF1:1;\r
+            unsigned char CFTIF1:1;\r
+            unsigned char THIF1:1;\r
+            unsigned char :3;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0GTINTSTS0;\r
+    char           wk19[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char C0ICBCE:1;\r
+            unsigned char C1ICBCE:1;\r
+            unsigned char :6;\r
+            unsigned char :8;\r
+            unsigned char RTMPS:7;\r
+            unsigned char :1;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0GTSTCFG;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char ICBCTME:1;\r
+            unsigned char :1;\r
+            unsigned char RTME:1;\r
+            unsigned char :5;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0GTSTCTR;\r
+    char           wk20[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+    } RSCAN0GLOCKK;\r
+    char           wk21[128];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP00;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP01;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP02;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP03;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP04;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP05;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP06;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP07;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP08;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP18;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP09;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP19;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP010;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP110;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP011;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP111;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP012;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP112;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP013;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP113;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP014;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP114;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLID:29;\r
+            unsigned long GAFLLB:1;\r
+            unsigned long GAFLRTR:1;\r
+            unsigned long GAFLIDE:1;\r
+        } BIT;\r
+    } RSCAN0GAFLID15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLIDM:29;\r
+            unsigned long :1;\r
+            unsigned long GAFLRTRM:1;\r
+            unsigned long GAFLIDEM:1;\r
+        } BIT;\r
+    } RSCAN0GAFLM15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long GAFLRMDP:7;\r
+            unsigned long GAFLRMV:1;\r
+            unsigned long GAFLPTR:12;\r
+            unsigned long GAFLDLC:4;\r
+        } BIT;\r
+    } RSCAN0GAFLP015;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long GAFLFDPr:8;\r
+            unsigned long GAFLFDP:18;\r
+            unsigned long :6;\r
+        } BIT;\r
+    } RSCAN0GAFLP115;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF00;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF01;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF02;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF03;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF04;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF05;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF06;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF07;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF08;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF18;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF09;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF19;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF010;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF110;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF011;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF111;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF012;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF112;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF013;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF113;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF014;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF114;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF015;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF115;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF016;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF116;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF017;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF117;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID18;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR18;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF018;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF118;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID19;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR19;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF019;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF119;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID20;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR20;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF020;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF120;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID21;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR21;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF021;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF121;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID22;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR22;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF022;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF122;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID23;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR23;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF023;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF123;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID24;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR24;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF024;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF124;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID25;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR25;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF025;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF125;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID26;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR26;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF026;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF126;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID27;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR27;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF027;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF127;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID28;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR28;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF028;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF128;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID29;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR29;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF029;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF129;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID30;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR30;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF030;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF130;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMID:29;\r
+            unsigned long :1;\r
+            unsigned long RMRTR:1;\r
+            unsigned long RMIDE:1;\r
+        } BIT;\r
+    } RSCAN0RMID31;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RMTS:16;\r
+            unsigned long RMPTR:12;\r
+            unsigned long RMDLC:4;\r
+        } BIT;\r
+    } RSCAN0RMPTR31;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB0;\r
+            unsigned char RMDB1;\r
+            unsigned char RMDB2;\r
+            unsigned char RMDB3;\r
+        } BYTE;\r
+    } RSCAN0RMDF031;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RMDB4;\r
+            unsigned char RMDB5;\r
+            unsigned char RMDB6;\r
+            unsigned char RMDB7;\r
+        } BYTE;\r
+    } RSCAN0RMDF131;\r
+    char           wk22[1536];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFID:29;\r
+            unsigned long :1;\r
+            unsigned long RFRTR:1;\r
+            unsigned long RFIDE:1;\r
+        } BIT;\r
+    } RSCAN0RFID0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFTS:16;\r
+            unsigned long RFPTR:12;\r
+            unsigned long RFDLC:4;\r
+        } BIT;\r
+    } RSCAN0RFPTR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB0;\r
+            unsigned char RFDB1;\r
+            unsigned char RFDB2;\r
+            unsigned char RFDB3;\r
+        } BYTE;\r
+    } RSCAN0RFDF00;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB4;\r
+            unsigned char RFDB5;\r
+            unsigned char RFDB6;\r
+            unsigned char RFDB7;\r
+        } BYTE;\r
+    } RSCAN0RFDF10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFID:29;\r
+            unsigned long :1;\r
+            unsigned long RFRTR:1;\r
+            unsigned long RFIDE:1;\r
+        } BIT;\r
+    } RSCAN0RFID1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFTS:16;\r
+            unsigned long RFPTR:12;\r
+            unsigned long RFDLC:4;\r
+        } BIT;\r
+    } RSCAN0RFPTR1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB0;\r
+            unsigned char RFDB1;\r
+            unsigned char RFDB2;\r
+            unsigned char RFDB3;\r
+        } BYTE;\r
+    } RSCAN0RFDF01;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB4;\r
+            unsigned char RFDB5;\r
+            unsigned char RFDB6;\r
+            unsigned char RFDB7;\r
+        } BYTE;\r
+    } RSCAN0RFDF11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFID:29;\r
+            unsigned long :1;\r
+            unsigned long RFRTR:1;\r
+            unsigned long RFIDE:1;\r
+        } BIT;\r
+    } RSCAN0RFID2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFTS:16;\r
+            unsigned long RFPTR:12;\r
+            unsigned long RFDLC:4;\r
+        } BIT;\r
+    } RSCAN0RFPTR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB0;\r
+            unsigned char RFDB1;\r
+            unsigned char RFDB2;\r
+            unsigned char RFDB3;\r
+        } BYTE;\r
+    } RSCAN0RFDF02;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB4;\r
+            unsigned char RFDB5;\r
+            unsigned char RFDB6;\r
+            unsigned char RFDB7;\r
+        } BYTE;\r
+    } RSCAN0RFDF12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFID:29;\r
+            unsigned long :1;\r
+            unsigned long RFRTR:1;\r
+            unsigned long RFIDE:1;\r
+        } BIT;\r
+    } RSCAN0RFID3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFTS:16;\r
+            unsigned long RFPTR:12;\r
+            unsigned long RFDLC:4;\r
+        } BIT;\r
+    } RSCAN0RFPTR3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB0;\r
+            unsigned char RFDB1;\r
+            unsigned char RFDB2;\r
+            unsigned char RFDB3;\r
+        } BYTE;\r
+    } RSCAN0RFDF03;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB4;\r
+            unsigned char RFDB5;\r
+            unsigned char RFDB6;\r
+            unsigned char RFDB7;\r
+        } BYTE;\r
+    } RSCAN0RFDF13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFID:29;\r
+            unsigned long :1;\r
+            unsigned long RFRTR:1;\r
+            unsigned long RFIDE:1;\r
+        } BIT;\r
+    } RSCAN0RFID4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFTS:16;\r
+            unsigned long RFPTR:12;\r
+            unsigned long RFDLC:4;\r
+        } BIT;\r
+    } RSCAN0RFPTR4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB0;\r
+            unsigned char RFDB1;\r
+            unsigned char RFDB2;\r
+            unsigned char RFDB3;\r
+        } BYTE;\r
+    } RSCAN0RFDF04;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB4;\r
+            unsigned char RFDB5;\r
+            unsigned char RFDB6;\r
+            unsigned char RFDB7;\r
+        } BYTE;\r
+    } RSCAN0RFDF14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFID:29;\r
+            unsigned long :1;\r
+            unsigned long RFRTR:1;\r
+            unsigned long RFIDE:1;\r
+        } BIT;\r
+    } RSCAN0RFID5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFTS:16;\r
+            unsigned long RFPTR:12;\r
+            unsigned long RFDLC:4;\r
+        } BIT;\r
+    } RSCAN0RFPTR5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB0;\r
+            unsigned char RFDB1;\r
+            unsigned char RFDB2;\r
+            unsigned char RFDB3;\r
+        } BYTE;\r
+    } RSCAN0RFDF05;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB4;\r
+            unsigned char RFDB5;\r
+            unsigned char RFDB6;\r
+            unsigned char RFDB7;\r
+        } BYTE;\r
+    } RSCAN0RFDF15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFID:29;\r
+            unsigned long :1;\r
+            unsigned long RFRTR:1;\r
+            unsigned long RFIDE:1;\r
+        } BIT;\r
+    } RSCAN0RFID6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFTS:16;\r
+            unsigned long RFPTR:12;\r
+            unsigned long RFDLC:4;\r
+        } BIT;\r
+    } RSCAN0RFPTR6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB0;\r
+            unsigned char RFDB1;\r
+            unsigned char RFDB2;\r
+            unsigned char RFDB3;\r
+        } BYTE;\r
+    } RSCAN0RFDF06;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB4;\r
+            unsigned char RFDB5;\r
+            unsigned char RFDB6;\r
+            unsigned char RFDB7;\r
+        } BYTE;\r
+    } RSCAN0RFDF16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFID:29;\r
+            unsigned long :1;\r
+            unsigned long RFRTR:1;\r
+            unsigned long RFIDE:1;\r
+        } BIT;\r
+    } RSCAN0RFID7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RFTS:16;\r
+            unsigned long RFPTR:12;\r
+            unsigned long RFDLC:4;\r
+        } BIT;\r
+    } RSCAN0RFPTR7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB0;\r
+            unsigned char RFDB1;\r
+            unsigned char RFDB2;\r
+            unsigned char RFDB3;\r
+        } BYTE;\r
+    } RSCAN0RFDF07;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char RFDB4;\r
+            unsigned char RFDB5;\r
+            unsigned char RFDB6;\r
+            unsigned char RFDB7;\r
+        } BYTE;\r
+    } RSCAN0RFDF17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long CFRTR:1;\r
+            unsigned long CFIDE:1;\r
+        } BIT;\r
+    } RSCAN0CFID0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFTS:16;\r
+            unsigned long CFPTR:12;\r
+            unsigned long CFDLC:4;\r
+        } BIT;\r
+    } RSCAN0CFPTR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB0;\r
+            unsigned char CFDB1;\r
+            unsigned char CFDB2;\r
+            unsigned char CFDB3;\r
+        } BYTE;\r
+    } RSCAN0CFDF00;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB4;\r
+            unsigned char CFDB5;\r
+            unsigned char CFDB6;\r
+            unsigned char CFDB7;\r
+        } BYTE;\r
+    } RSCAN0CFDF10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long CFRTR:1;\r
+            unsigned long CFIDE:1;\r
+        } BIT;\r
+    } RSCAN0CFID1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFTS:16;\r
+            unsigned long CFPTR:12;\r
+            unsigned long CFDLC:4;\r
+        } BIT;\r
+    } RSCAN0CFPTR1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB0;\r
+            unsigned char CFDB1;\r
+            unsigned char CFDB2;\r
+            unsigned char CFDB3;\r
+        } BYTE;\r
+    } RSCAN0CFDF01;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB4;\r
+            unsigned char CFDB5;\r
+            unsigned char CFDB6;\r
+            unsigned char CFDB7;\r
+        } BYTE;\r
+    } RSCAN0CFDF11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long CFRTR:1;\r
+            unsigned long CFIDE:1;\r
+        } BIT;\r
+    } RSCAN0CFID2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFTS:16;\r
+            unsigned long CFPTR:12;\r
+            unsigned long CFDLC:4;\r
+        } BIT;\r
+    } RSCAN0CFPTR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB0;\r
+            unsigned char CFDB1;\r
+            unsigned char CFDB2;\r
+            unsigned char CFDB3;\r
+        } BYTE;\r
+    } RSCAN0CFDF02;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB4;\r
+            unsigned char CFDB5;\r
+            unsigned char CFDB6;\r
+            unsigned char CFDB7;\r
+        } BYTE;\r
+    } RSCAN0CFDF12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long CFRTR:1;\r
+            unsigned long CFIDE:1;\r
+        } BIT;\r
+    } RSCAN0CFID3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFTS:16;\r
+            unsigned long CFPTR:12;\r
+            unsigned long CFDLC:4;\r
+        } BIT;\r
+    } RSCAN0CFPTR3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB0;\r
+            unsigned char CFDB1;\r
+            unsigned char CFDB2;\r
+            unsigned char CFDB3;\r
+        } BYTE;\r
+    } RSCAN0CFDF03;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB4;\r
+            unsigned char CFDB5;\r
+            unsigned char CFDB6;\r
+            unsigned char CFDB7;\r
+        } BYTE;\r
+    } RSCAN0CFDF13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long CFRTR:1;\r
+            unsigned long CFIDE:1;\r
+        } BIT;\r
+    } RSCAN0CFID4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFTS:16;\r
+            unsigned long CFPTR:12;\r
+            unsigned long CFDLC:4;\r
+        } BIT;\r
+    } RSCAN0CFPTR4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB0;\r
+            unsigned char CFDB1;\r
+            unsigned char CFDB2;\r
+            unsigned char CFDB3;\r
+        } BYTE;\r
+    } RSCAN0CFDF04;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB4;\r
+            unsigned char CFDB5;\r
+            unsigned char CFDB6;\r
+            unsigned char CFDB7;\r
+        } BYTE;\r
+    } RSCAN0CFDF14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long CFRTR:1;\r
+            unsigned long CFIDE:1;\r
+        } BIT;\r
+    } RSCAN0CFID5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long CFTS:16;\r
+            unsigned long CFPTR:12;\r
+            unsigned long CFDLC:4;\r
+        } BIT;\r
+    } RSCAN0CFPTR5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB0;\r
+            unsigned char CFDB1;\r
+            unsigned char CFDB2;\r
+            unsigned char CFDB3;\r
+        } BYTE;\r
+    } RSCAN0CFDF05;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char CFDB4;\r
+            unsigned char CFDB5;\r
+            unsigned char CFDB6;\r
+            unsigned char CFDB7;\r
+        } BYTE;\r
+    } RSCAN0CFDF15;\r
+    char           wk23[288];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF00;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF01;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF02;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF03;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF04;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF05;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF06;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF07;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF08;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF18;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF09;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF19;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF010;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF110;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF011;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF111;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF012;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF112;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF013;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF113;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF014;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF114;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF015;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF115;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF016;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF116;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF017;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF117;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID18;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR18;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF018;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF118;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID19;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR19;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF019;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF119;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID20;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR20;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF020;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF120;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID21;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR21;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF021;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF121;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID22;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR22;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF022;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF122;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID23;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR23;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF023;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF123;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID24;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR24;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF024;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF124;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID25;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR25;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF025;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF125;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID26;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR26;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF026;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF126;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID27;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR27;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF027;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF127;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID28;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR28;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF028;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF128;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID29;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR29;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF029;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF129;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID30;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR30;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF030;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF130;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long TMID:29;\r
+            unsigned long THLEN:1;\r
+            unsigned long TMRTR:1;\r
+            unsigned long TMIDE:1;\r
+        } BIT;\r
+    } RSCAN0TMID31;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+            unsigned char TMPTR:8;\r
+            unsigned char :4;\r
+            unsigned char TMDLC:4;\r
+        } BIT;\r
+    } RSCAN0TMPTR31;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB0;\r
+            unsigned char TMDB1;\r
+            unsigned char TMDB2;\r
+            unsigned char TMDB3;\r
+        } BYTE;\r
+    } RSCAN0TMDF031;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char TMDB4;\r
+            unsigned char TMDB5;\r
+            unsigned char TMDB6;\r
+            unsigned char TMDB7;\r
+        } BYTE;\r
+    } RSCAN0TMDF131;\r
+    char           wk24[1536];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char BT:3;\r
+            unsigned char BN:4;\r
+            unsigned char :1;\r
+            unsigned char TID:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0THLACC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char BT:3;\r
+            unsigned char BN:4;\r
+            unsigned char :1;\r
+            unsigned char TID:8;\r
+            unsigned char :8;\r
+            unsigned char :8;\r
+        } BIT;\r
+    } RSCAN0THLACC1;\r
+    char           wk25[248];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC18;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC19;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC20;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC21;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC22;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC23;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC24;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC25;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC26;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC27;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC28;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC29;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC30;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC31;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC32;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC33;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC34;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC35;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC36;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC37;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC38;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC39;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC40;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC41;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC42;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC43;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC44;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC45;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC46;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC47;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC48;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC49;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC50;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC51;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC52;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC53;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC54;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC55;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC56;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC57;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC58;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC59;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC60;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC61;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC62;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDTA:32;\r
+        } BIT;\r
+    } RSCAN0RPGACC63;\r
+    char           wk26[5632];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned char ECEMF:1;\r
+            unsigned char ECER1F:1;\r
+            unsigned char ECER2F:1;\r
+            unsigned char EC1EDIC:1;\r
+            unsigned char EC2EDIC:1;\r
+            unsigned char EC1ECP:1;\r
+            unsigned char ECERVF:1;\r
+            unsigned char ECTHM:1;\r
+            unsigned char :1;\r
+            unsigned char ECER1C:1;\r
+            unsigned char ECER2C:1;\r
+            unsigned char ECOVFF:1;\r
+            unsigned char :2;\r
+            unsigned char EMCA0:1;\r
+            unsigned char EMCA1:1;\r
+            unsigned char ECSEDF0:1;\r
+            unsigned char ECDEDF0:1;\r
+            unsigned char ECSEDF1:1;\r
+            unsigned char ECDEDF1:1;\r
+            unsigned char ECSEDF2:1;\r
+            unsigned char ECDEDF2:1;\r
+            unsigned char ECSEDF3:1;\r
+            unsigned char ECDEDF3:1;\r
+            unsigned char ECSEDF4:1;\r
+            unsigned char ECDEDF4:1;\r
+            unsigned char ECSEDF5:1;\r
+            unsigned char ECDEDF5:1;\r
+            unsigned char ECSEDF6:1;\r
+            unsigned char ECDEDF6:1;\r
+            unsigned char ECSEDF7:1;\r
+            unsigned char ECDEDF7:1;\r
+        } BIT;\r
+    } ECCRCANCTL;\r
+    char           wk27[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long ECEADz:11;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } ECCRCANEAD0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long ECEADz:11;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } ECCRCANEAD1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long ECEADz:11;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } ECCRCANEAD2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long ECEADz:11;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } ECCRCANEAD3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long ECEADz:11;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } ECCRCANEAD4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long ECEADz:11;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } ECCRCANEAD5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long ECEADz:11;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } ECCRCANEAD6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long ECEADz:11;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } ECCRCANEAD7;\r
+};\r
+\r
+struct st_rspi\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SPMS:1;\r
+            unsigned char TXMD:1;\r
+            unsigned char MODFEN:1;\r
+            unsigned char MSTR:1;\r
+            unsigned char SPEIE:1;\r
+            unsigned char SPTIE:1;\r
+            unsigned char SPE:1;\r
+            unsigned char SPRIE:1;\r
+        } BIT;\r
+    } SPCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SSL0P:1;\r
+            unsigned char SSL1P:1;\r
+            unsigned char SSL2P:1;\r
+            unsigned char SSL3P:1;\r
+            unsigned char :4;\r
+        } BIT;\r
+    } SSLP;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SPLP:1;\r
+            unsigned char SPLP2:1;\r
+            unsigned char SPOM:1;\r
+            unsigned char :1;\r
+            unsigned char MOIFV:1;\r
+            unsigned char MOIFE:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } SPPCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char OVRF:1;\r
+            unsigned char IDLNF:1;\r
+            unsigned char MODF:1;\r
+            unsigned char PERF:1;\r
+            unsigned char :4;\r
+        } BIT;\r
+    } SPSR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short L;\r
+            unsigned short H;\r
+        } WORD;\r
+    } SPDR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SPSLN:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } SPSCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SPCP:3;\r
+            unsigned char :1;\r
+            unsigned char SPECM:3;\r
+            unsigned char :1;\r
+        } BIT;\r
+    } SPSSR;\r
+    unsigned char  SPBR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SPFC:2;\r
+            unsigned char :2;\r
+            unsigned char SPRDTD:1;\r
+            unsigned char SPLW:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } SPDCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SCKDL:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } SPCKD;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SLNDL:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } SSLND;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SPNDL:3;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } SPND;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SPPE:1;\r
+            unsigned char SPOE:1;\r
+            unsigned char SPIIE:1;\r
+            unsigned char PTE:1;\r
+            unsigned char SCKASE:1;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } SPCR2;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CPHA:1;\r
+            unsigned short CPOL:1;\r
+            unsigned short BRDV:2;\r
+            unsigned short SSLy:3;\r
+            unsigned short SSLKP:1;\r
+            unsigned short SPB:4;\r
+            unsigned short LSBF:1;\r
+            unsigned short SPNDEN:1;\r
+            unsigned short SLNDEN:1;\r
+            unsigned short SCKDEN:1;\r
+        } BIT;\r
+    } SPCMD0;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CPHA:1;\r
+            unsigned short CPOL:1;\r
+            unsigned short BRDV:2;\r
+            unsigned short SSLy:3;\r
+            unsigned short SSLKP:1;\r
+            unsigned short SPB:4;\r
+            unsigned short LSBF:1;\r
+            unsigned short SPNDEN:1;\r
+            unsigned short SLNDEN:1;\r
+            unsigned short SCKDEN:1;\r
+        } BIT;\r
+    } SPCMD1;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CPHA:1;\r
+            unsigned short CPOL:1;\r
+            unsigned short BRDV:2;\r
+            unsigned short SSLy:3;\r
+            unsigned short SSLKP:1;\r
+            unsigned short SPB:4;\r
+            unsigned short LSBF:1;\r
+            unsigned short SPNDEN:1;\r
+            unsigned short SLNDEN:1;\r
+            unsigned short SCKDEN:1;\r
+        } BIT;\r
+    } SPCMD2;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CPHA:1;\r
+            unsigned short CPOL:1;\r
+            unsigned short BRDV:2;\r
+            unsigned short SSLy:3;\r
+            unsigned short SSLKP:1;\r
+            unsigned short SPB:4;\r
+            unsigned short LSBF:1;\r
+            unsigned short SPNDEN:1;\r
+            unsigned short SLNDEN:1;\r
+            unsigned short SCKDEN:1;\r
+        } BIT;\r
+    } SPCMD3;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CPHA:1;\r
+            unsigned short CPOL:1;\r
+            unsigned short BRDV:2;\r
+            unsigned short SSLy:3;\r
+            unsigned short SSLKP:1;\r
+            unsigned short SPB:4;\r
+            unsigned short LSBF:1;\r
+            unsigned short SPNDEN:1;\r
+            unsigned short SLNDEN:1;\r
+            unsigned short SCKDEN:1;\r
+        } BIT;\r
+    } SPCMD4;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CPHA:1;\r
+            unsigned short CPOL:1;\r
+            unsigned short BRDV:2;\r
+            unsigned short SSLy:3;\r
+            unsigned short SSLKP:1;\r
+            unsigned short SPB:4;\r
+            unsigned short LSBF:1;\r
+            unsigned short SPNDEN:1;\r
+            unsigned short SLNDEN:1;\r
+            unsigned short SCKDEN:1;\r
+        } BIT;\r
+    } SPCMD5;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CPHA:1;\r
+            unsigned short CPOL:1;\r
+            unsigned short BRDV:2;\r
+            unsigned short SSLy:3;\r
+            unsigned short SSLKP:1;\r
+            unsigned short SPB:4;\r
+            unsigned short LSBF:1;\r
+            unsigned short SPNDEN:1;\r
+            unsigned short SLNDEN:1;\r
+            unsigned short SCKDEN:1;\r
+        } BIT;\r
+    } SPCMD6;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CPHA:1;\r
+            unsigned short CPOL:1;\r
+            unsigned short BRDV:2;\r
+            unsigned short SSLy:3;\r
+            unsigned short SSLKP:1;\r
+            unsigned short SPB:4;\r
+            unsigned short LSBF:1;\r
+            unsigned short SPNDEN:1;\r
+            unsigned short SLNDEN:1;\r
+            unsigned short SCKDEN:1;\r
+        } BIT;\r
+    } SPCMD7;\r
+};\r
+\r
+struct st_s12adc0\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short DBLANS:5;\r
+            unsigned short :1;\r
+            unsigned short GBADIE:1;\r
+            unsigned short DBLE:1;\r
+            unsigned short EXTRG:1;\r
+            unsigned short TRGE:1;\r
+            unsigned short :2;\r
+            unsigned short ADIE:1;\r
+            unsigned short ADCS:2;\r
+            unsigned short ADST:1;\r
+        } BIT;\r
+    } ADCSR;\r
+    char           wk0[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ANSA:16;\r
+        } BIT;\r
+    } ADANSA;\r
+    char           wk1[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ADS:16;\r
+        } BIT;\r
+    } ADADS;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ADC:2;\r
+            unsigned char :5;\r
+            unsigned char AVEE:1;\r
+        } BIT;\r
+    } ADADC;\r
+    char           wk3[1];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :1;\r
+            unsigned short ADPRC:2;\r
+            unsigned short :2;\r
+            unsigned short ACE:1;\r
+            unsigned short :2;\r
+            unsigned short DIAGVAL:2;\r
+            unsigned short DIAGLD:1;\r
+            unsigned short DIAGM:1;\r
+            unsigned short :3;\r
+            unsigned short ADRFMT:1;\r
+        } BIT;\r
+    } ADCER;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TRSB:6;\r
+            unsigned short :2;\r
+            unsigned short TRSA:6;\r
+            unsigned short :2;\r
+        } BIT;\r
+    } ADSTRGR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TSSAD:1;\r
+            unsigned short :7;\r
+            unsigned short TSSA:1;\r
+            unsigned short :1;\r
+            unsigned short TSSB:1;\r
+            unsigned short :5;\r
+        } BIT;\r
+    } ADEXICR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ANSB:16;\r
+        } BIT;\r
+    } ADANSB;\r
+    char           wk4[2];\r
+    unsigned short ADDBLDR;\r
+    unsigned short ADTSDR;\r
+    char           wk5[2];\r
+    unsigned short ADRD;\r
+    unsigned short ADDR0;\r
+    unsigned short ADDR1;\r
+    unsigned short ADDR2;\r
+    unsigned short ADDR3;\r
+    unsigned short ADDR4;\r
+    unsigned short ADDR5;\r
+    unsigned short ADDR6;\r
+    unsigned short ADDR7;\r
+    char           wk6[48];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR0;\r
+    char           wk7[5];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short SSTSH:8;\r
+            unsigned short SHANS:4;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } ADSHCR;\r
+    char           wk8[8];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTRT;\r
+    char           wk9[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR3;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR4;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR5;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR6;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR7;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ADNDIS:5;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } ADDISCR;\r
+    char           wk10[5];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PGS:1;\r
+            unsigned short GBRSCN:1;\r
+            unsigned short :13;\r
+            unsigned short GBRP:1;\r
+        } BIT;\r
+    } ADGSPCR;\r
+    char           wk11[2];\r
+    unsigned short ADDBLDRA;\r
+    unsigned short ADDBLDRB;\r
+    char           wk12[8];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :6;\r
+            unsigned char WCMPE:1;\r
+            unsigned char CMPIE:1;\r
+        } BIT;\r
+    } ADCMPCR;\r
+    char           wk13[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CMPSTS:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } ADCMPANSER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CMPLTS:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } ADCMPLER;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CMPS:16;\r
+        } BIT;\r
+    } ADCMPANSR;\r
+    char           wk14[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CMPL:16;\r
+        } BIT;\r
+    } ADCMPLR;\r
+    char           wk15[2];\r
+    unsigned short ADCMPDR0;\r
+    unsigned short ADCMPDR1;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CMPF:16;\r
+        } BIT;\r
+    } ADCMPSR;\r
+    char           wk16[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CMPFTS:1;\r
+            unsigned char :7;\r
+        } BIT;\r
+    } ADCMPSER;\r
+    char           wk17[35];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TDLV:2;\r
+            unsigned char :5;\r
+            unsigned char TDE:1;\r
+        } BIT;\r
+    } ADTDCR;\r
+    char           wk18[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :2;\r
+            unsigned char OWEIE:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } ADERCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :2;\r
+            unsigned char OWEC:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } ADERCLR;\r
+    char           wk19[6];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short OWE:16;\r
+        } BIT;\r
+    } ADOWER;\r
+    char           wk20[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short DBOWE:1;\r
+            unsigned short DAOWE:1;\r
+            unsigned short DOWE:1;\r
+            unsigned short DIAGOWE:1;\r
+            unsigned short TSOWE:1;\r
+            unsigned short :11;\r
+        } BIT;\r
+    } ADOWEER;\r
+};\r
+\r
+struct st_s12adc1\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short DBLANS:5;\r
+            unsigned short :1;\r
+            unsigned short GBADIE:1;\r
+            unsigned short DBLE:1;\r
+            unsigned short EXTRG:1;\r
+            unsigned short TRGE:1;\r
+            unsigned short :2;\r
+            unsigned short ADIE:1;\r
+            unsigned short ADCS:2;\r
+            unsigned short ADST:1;\r
+        } BIT;\r
+    } ADCSR;\r
+    char           wk0[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ANSA:16;\r
+        } BIT;\r
+    } ADANSA;\r
+    char           wk1[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ADS:16;\r
+        } BIT;\r
+    } ADADS;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ADC:2;\r
+            unsigned char :5;\r
+            unsigned char AVEE:1;\r
+        } BIT;\r
+    } ADADC;\r
+    char           wk3[1];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :1;\r
+            unsigned short ADPRC:2;\r
+            unsigned short :2;\r
+            unsigned short ACE:1;\r
+            unsigned short :2;\r
+            unsigned short DIAGVAL:2;\r
+            unsigned short DIAGLD:1;\r
+            unsigned short DIAGM:1;\r
+            unsigned short :3;\r
+            unsigned short ADRFMT:1;\r
+        } BIT;\r
+    } ADCER;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TRSB:6;\r
+            unsigned short :2;\r
+            unsigned short TRSA:6;\r
+            unsigned short :2;\r
+        } BIT;\r
+    } ADSTRGR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :13;\r
+            unsigned short EXSEL:2;\r
+            unsigned short EXOEN:1;\r
+        } BIT;\r
+    } ADEXICR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ANSB:16;\r
+        } BIT;\r
+    } ADANSB;\r
+    char           wk4[2];\r
+    unsigned short ADDBLDR;\r
+    char           wk5[4];\r
+    unsigned short ADRD;\r
+    unsigned short ADDR0;\r
+    unsigned short ADDR1;\r
+    unsigned short ADDR2;\r
+    unsigned short ADDR3;\r
+    unsigned short ADDR4;\r
+    unsigned short ADDR5;\r
+    unsigned short ADDR6;\r
+    unsigned short ADDR7;\r
+    unsigned short ADDR8;\r
+    unsigned short ADDR9;\r
+    unsigned short ADDR10;\r
+    unsigned short ADDR11;\r
+    unsigned short ADDR12;\r
+    unsigned short ADDR13;\r
+    unsigned short ADDR14;\r
+    unsigned short ADDR15;\r
+    char           wk6[32];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR0;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTRL;\r
+    char           wk7[17];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR1;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR2;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR3;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR4;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR5;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR6;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SST:8;\r
+        } BIT;\r
+    } ADSSTR7;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ADNDIS:5;\r
+            unsigned char :3;\r
+        } BIT;\r
+    } ADDISCR;\r
+    char           wk8[5];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PGS:1;\r
+            unsigned short GBRSCN:1;\r
+            unsigned short :13;\r
+            unsigned short GBRP:1;\r
+        } BIT;\r
+    } ADGSPCR;\r
+    char           wk9[2];\r
+    unsigned short ADDBLDRA;\r
+    unsigned short ADDBLDRB;\r
+    char           wk10[8];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :6;\r
+            unsigned char WCMPE:1;\r
+            unsigned char CMPIE:1;\r
+        } BIT;\r
+    } ADCMPCR;\r
+    char           wk11[3];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CMPS:16;\r
+        } BIT;\r
+    } ADCMPANSR;\r
+    char           wk12[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CMPL:16;\r
+        } BIT;\r
+    } ADCMPLR;\r
+    char           wk13[2];\r
+    unsigned short ADCMPDR0;\r
+    unsigned short ADCMPDR1;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CMPF:16;\r
+        } BIT;\r
+    } ADCMPSR;\r
+    char           wk14[38];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TDLV:2;\r
+            unsigned char :5;\r
+            unsigned char TDE:1;\r
+        } BIT;\r
+    } ADTDCR;\r
+    char           wk15[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :2;\r
+            unsigned char OWEIE:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } ADERCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :2;\r
+            unsigned char OWEC:1;\r
+            unsigned char :5;\r
+        } BIT;\r
+    } ADERCLR;\r
+    char           wk16[6];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short OWE:16;\r
+        } BIT;\r
+    } ADOWER;\r
+    char           wk17[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short DBOWE:1;\r
+            unsigned short DAOWE:1;\r
+            unsigned short DOWE:1;\r
+            unsigned short DIAGOWE:1;\r
+            unsigned short TSOWE:1;\r
+            unsigned short :11;\r
+        } BIT;\r
+    } ADOWEER;\r
+};\r
+\r
+struct st_scifa\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CKS:2;\r
+            unsigned short :1;\r
+            unsigned short STOP:1;\r
+            unsigned short PM:1;\r
+            unsigned short PE:1;\r
+            unsigned short CHR:1;\r
+            unsigned short CM:1;\r
+            unsigned short :8;\r
+        } BIT;\r
+    } SMR;\r
+    union\r
+    {\r
+        unsigned char  BRR;\r
+        unsigned char  MDDR;\r
+    } BRR_MDDR;\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CKE:2;\r
+            unsigned short TEIE:1;\r
+            unsigned short REIE:1;\r
+            unsigned short RE:1;\r
+            unsigned short TE:1;\r
+            unsigned short RIE:1;\r
+            unsigned short TIE:1;\r
+            unsigned short :8;\r
+        } BIT;\r
+    } SCR;\r
+    unsigned char  FTDR;\r
+    char           wk1[1];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short DR:1;\r
+            unsigned short RDF:1;\r
+            unsigned short PER:1;\r
+            unsigned short FER:1;\r
+            unsigned short BRK:1;\r
+            unsigned short TDFE:1;\r
+            unsigned short TEND:1;\r
+            unsigned short ER:1;\r
+            unsigned short :8;\r
+        } BIT;\r
+    } FSR;\r
+    unsigned char  FRDR;\r
+    char           wk2[1];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short LOOP:1;\r
+            unsigned short RFRST:1;\r
+            unsigned short TFRST:1;\r
+            unsigned short MCE:1;\r
+            unsigned short TTRG:2;\r
+            unsigned short RTRG:2;\r
+            unsigned short RSTRG:3;\r
+            unsigned short :5;\r
+        } BIT;\r
+    } FCR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short R:5;\r
+            unsigned short :3;\r
+            unsigned short T:5;\r
+            unsigned short :3;\r
+        } BIT;\r
+    } FDR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short SPB2DT:1;\r
+            unsigned short SPB2IO:1;\r
+            unsigned short SCKDT:1;\r
+            unsigned short SCKIO:1;\r
+            unsigned short CTS2DT:1;\r
+            unsigned short CTS2IO:1;\r
+            unsigned short RTS2DT:1;\r
+            unsigned short RTS2IO:1;\r
+            unsigned short :8;\r
+        } BIT;\r
+    } SPTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short ORER:1;\r
+            unsigned short :1;\r
+            unsigned short FER:4;\r
+            unsigned short :2;\r
+            unsigned short PER:4;\r
+            unsigned short :4;\r
+        } BIT;\r
+    } LSR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char ABCS0:1;\r
+            unsigned char :1;\r
+            unsigned char NFEN:1;\r
+            unsigned char DIR:1;\r
+            unsigned char MDDRS:1;\r
+            unsigned char BRME:1;\r
+            unsigned char :1;\r
+            unsigned char BGDM:1;\r
+        } BIT;\r
+    } SEMR;\r
+    char           wk3[1];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TFTC:5;\r
+            unsigned short :2;\r
+            unsigned short TTRGS:1;\r
+            unsigned short RFTC:5;\r
+            unsigned short :2;\r
+            unsigned short RTRGS:1;\r
+        } BIT;\r
+    } FTCR;\r
+};\r
+\r
+struct st_spibsc\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long BSZ:2;\r
+            unsigned long :1;\r
+            unsigned long CPOL:1;\r
+            unsigned long SSLP:1;\r
+            unsigned long CPHAR:1;\r
+            unsigned long CPHAT:1;\r
+            unsigned long :1;\r
+            unsigned long IO0FV:2;\r
+            unsigned long :2;\r
+            unsigned long IO2FV:2;\r
+            unsigned long IO3FV:2;\r
+            unsigned long MOIIO0:2;\r
+            unsigned long MOIIO1:2;\r
+            unsigned long MOIIO2:2;\r
+            unsigned long MOIIO3:2;\r
+            unsigned long SFDE:1;\r
+            unsigned long :6;\r
+            unsigned long MD:1;\r
+        } BIT;\r
+    } CMNCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SCKDL:3;\r
+            unsigned long :5;\r
+            unsigned long SLNDL:3;\r
+            unsigned long :5;\r
+            unsigned long SPNDL:3;\r
+            unsigned long :13;\r
+        } BIT;\r
+    } SSLDR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long BRDV:2;\r
+            unsigned long :6;\r
+            unsigned long SPBR:8;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } SPBCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SSLE:1;\r
+            unsigned long :7;\r
+            unsigned long RBE:1;\r
+            unsigned long RCF:1;\r
+            unsigned long :6;\r
+            unsigned long RBURST:4;\r
+            unsigned long :4;\r
+            unsigned long SSLN:1;\r
+            unsigned long :7;\r
+        } BIT;\r
+    } DRCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long OCMD:8;\r
+            unsigned long :8;\r
+            unsigned long CMD:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } DRCMR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EAC:3;\r
+            unsigned long :13;\r
+            unsigned long EAV:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } DREAR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long OPD0:8;\r
+            unsigned long OPD1:8;\r
+            unsigned long OPD2:8;\r
+            unsigned long OPD3:8;\r
+        } BIT;\r
+    } DROPR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :4;\r
+            unsigned long OPDE:4;\r
+            unsigned long ADE:4;\r
+            unsigned long OCDE:1;\r
+            unsigned long :1;\r
+            unsigned long CDE:1;\r
+            unsigned long DME:1;\r
+            unsigned long DRDB:2;\r
+            unsigned long :2;\r
+            unsigned long OPDB:2;\r
+            unsigned long :2;\r
+            unsigned long ADB:2;\r
+            unsigned long :2;\r
+            unsigned long OCDB:2;\r
+            unsigned long CDB:2;\r
+        } BIT;\r
+    } DRENR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SPIE:1;\r
+            unsigned long SPIWE:1;\r
+            unsigned long SPIRE:1;\r
+            unsigned long :5;\r
+            unsigned long SSLKP:1;\r
+            unsigned long :23;\r
+        } BIT;\r
+    } SMCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long OCMD:8;\r
+            unsigned long :8;\r
+            unsigned long CMD:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } SMCMR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ADR:24;\r
+            unsigned long ADRE:8;\r
+        } BIT;\r
+    } SMADR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long OPD0:8;\r
+            unsigned long OPD1:8;\r
+            unsigned long OPD2:8;\r
+            unsigned long OPD3:8;\r
+        } BIT;\r
+    } SMOPR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SPIDE:4;\r
+            unsigned long OPDE:4;\r
+            unsigned long ADE:4;\r
+            unsigned long OCDE:1;\r
+            unsigned long :1;\r
+            unsigned long CDE:1;\r
+            unsigned long DME:1;\r
+            unsigned long SPIDB:2;\r
+            unsigned long :2;\r
+            unsigned long OPDB:2;\r
+            unsigned long :2;\r
+            unsigned long ADB:2;\r
+            unsigned long :2;\r
+            unsigned long OCDB:2;\r
+            unsigned long CDB:2;\r
+        } BIT;\r
+    } SMENR;\r
+    char           wk0[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long RDATA0:32;\r
+        } BIT;\r
+    } SMRDR0;\r
+    char           wk1[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long WDATA0:32;\r
+        } BIT;\r
+    } SMWDR0;\r
+    char           wk2[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TEND:1;\r
+            unsigned long SSLF:1;\r
+            unsigned long :30;\r
+        } BIT;\r
+    } CMNSR;\r
+    char           wk3[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DMCYC:3;\r
+            unsigned long :13;\r
+            unsigned long DMDB:2;\r
+            unsigned long :14;\r
+        } BIT;\r
+    } DRDMCR;\r
+    char           wk4[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DMCYC:3;\r
+            unsigned long :13;\r
+            unsigned long DMDB:2;\r
+            unsigned long :14;\r
+        } BIT;\r
+    } SMDMCR;\r
+};\r
+\r
+struct st_ssi\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long REN:1;\r
+            unsigned long TEN:1;\r
+            unsigned long :1;\r
+            unsigned long MUEN:1;\r
+            unsigned long CKDV:4;\r
+            unsigned long DEL:1;\r
+            unsigned long PDTA:1;\r
+            unsigned long SDTA:1;\r
+            unsigned long SPDP:1;\r
+            unsigned long SWSP:1;\r
+            unsigned long SCKP:1;\r
+            unsigned long SWSD:1;\r
+            unsigned long SCKD:1;\r
+            unsigned long SWL:3;\r
+            unsigned long DWL:3;\r
+            unsigned long CHNL:2;\r
+            unsigned long :1;\r
+            unsigned long IIEN:1;\r
+            unsigned long ROIEN:1;\r
+            unsigned long RUIEN:1;\r
+            unsigned long TOIEN:1;\r
+            unsigned long TUIEN:1;\r
+            unsigned long CKS:1;\r
+            unsigned long :1;\r
+        } BIT;\r
+    } SSICR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IDST:1;\r
+            unsigned long RSWNO:1;\r
+            unsigned long :2;\r
+            unsigned long TSWNO:1;\r
+            unsigned long :20;\r
+            unsigned long IIRQ:1;\r
+            unsigned long ROIRQ:1;\r
+            unsigned long RUIRQ:1;\r
+            unsigned long TOIRQ:1;\r
+            unsigned long TUIRQ:1;\r
+            unsigned long :2;\r
+        } BIT;\r
+    } SSISR;\r
+    char           wk0[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RFRST:1;\r
+            unsigned long TFRST:1;\r
+            unsigned long RIE:1;\r
+            unsigned long TIE:1;\r
+            unsigned long RTRG:2;\r
+            unsigned long TTRG:2;\r
+            unsigned long :23;\r
+            unsigned long AUCKE:1;\r
+        } BIT;\r
+    } SSIFCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RDF:1;\r
+            unsigned long :7;\r
+            unsigned long RDC:4;\r
+            unsigned long :4;\r
+            unsigned long TDE:1;\r
+            unsigned long :7;\r
+            unsigned long TDC:4;\r
+            unsigned long :4;\r
+        } BIT;\r
+    } SSIFSR;\r
+    unsigned long  SSIFTDR;\r
+    unsigned long  SSIFRDR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long CONT:1;\r
+            unsigned long :23;\r
+        } BIT;\r
+    } SSITDMR;\r
+};\r
+\r
+struct st_system\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PCKG:2;\r
+            unsigned long PCKF:2;\r
+            unsigned long PCKE:2;\r
+            unsigned long :2;\r
+            unsigned long CKIO:3;\r
+            unsigned long :1;\r
+            unsigned long ETCKE:1;\r
+            unsigned long :1;\r
+            unsigned long ETCKD:2;\r
+            unsigned long SERICK:1;\r
+            unsigned long :3;\r
+            unsigned long TCLK:1;\r
+            unsigned long :11;\r
+        } BIT;\r
+    } SCKCR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CKSEL0:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SCKCR2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DSSEL0:1;\r
+            unsigned long DSCK0:3;\r
+            unsigned long DSINV0:1;\r
+            unsigned long DSCHSEL:1;\r
+            unsigned long :10;\r
+            unsigned long DSSEL1:1;\r
+            unsigned long DSCK1:3;\r
+            unsigned long DSINV1:1;\r
+            unsigned long :11;\r
+        } BIT;\r
+    } DSCR;\r
+    char           wk0[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CPUCKSEL:2;\r
+            unsigned long :30;\r
+        } BIT;\r
+    } PLL1CR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PLL1EN:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } PLL1CR2;\r
+    char           wk1[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long LCSTP:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } LOCOCR;\r
+    char           wk2[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long OSTDIE:1;\r
+            unsigned long :6;\r
+            unsigned long OSTDE:1;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } OSTDCR;\r
+    char           wk3[432];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long TRF:1;\r
+            unsigned long ECMRF:1;\r
+            unsigned long SWR1F:1;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } RSTSR0;\r
+    char           wk4[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } SWRR1;\r
+    char           wk5[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } SWRR2;\r
+    char           wk6[36];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MRUSBF:1;\r
+            unsigned long MRUSBH:1;\r
+            unsigned long :30;\r
+        } BIT;\r
+    } MRCTLC;\r
+    char           wk7[180];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MSTPCRA0:1;\r
+            unsigned long MSTPCRA1:1;\r
+            unsigned long MSTPCRA2:1;\r
+            unsigned long MSTPCRA3:1;\r
+            unsigned long MSTPCRA4:1;\r
+            unsigned long MSTPCRA5:1;\r
+            unsigned long MSTPCRA6:1;\r
+            unsigned long MSTPCRA7:1;\r
+            unsigned long MSTPCRA8:1;\r
+            unsigned long MSTPCRA9:1;\r
+            unsigned long :1;\r
+            unsigned long MSTPCRA11:1;\r
+            unsigned long :20;\r
+        } BIT;\r
+    } MSTPCRA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long MSTPCRB1:1;\r
+            unsigned long MSTPCRB2:1;\r
+            unsigned long MSTPCRB3:1;\r
+            unsigned long :1;\r
+            unsigned long MSTPCRB5:1;\r
+            unsigned long MSTPCRB6:1;\r
+            unsigned long MSTPCRB7:1;\r
+            unsigned long MSTPCRB8:1;\r
+            unsigned long MSTPCRB9:1;\r
+            unsigned long MSTPCRB10:1;\r
+            unsigned long MSTPCRB11:1;\r
+            unsigned long MSTPCRB12:1;\r
+            unsigned long MSTPCRB13:1;\r
+            unsigned long MSTPCRB14:1;\r
+            unsigned long MSTPCRB15:1;\r
+            unsigned long MSTPCRB16:1;\r
+            unsigned long MSTPCRB17:1;\r
+            unsigned long MSTPCRB18:1;\r
+            unsigned long MSTPCRB19:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } MSTPCRB;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long MSTPCRC1:1;\r
+            unsigned long MSTPCRC2:1;\r
+            unsigned long MSTPCRC3:1;\r
+            unsigned long MSTPCRC4:1;\r
+            unsigned long MSTPCRC5:1;\r
+            unsigned long MSTPCRC6:1;\r
+            unsigned long MSTPCRC7:1;\r
+            unsigned long MSTPCRC8:1;\r
+            unsigned long MSTPCRC9:1;\r
+            unsigned long MSTPCRC10:1;\r
+            unsigned long MSTPCRC11:1;\r
+            unsigned long MSTPCRC12:1;\r
+            unsigned long MSTPCRC13:1;\r
+            unsigned long MSTPCRC14:1;\r
+            unsigned long :17;\r
+        } BIT;\r
+    } MSTPCRC;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :2;\r
+            unsigned long MSTPCRD2:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } MSTPCRD;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :4;\r
+            unsigned long MSTPCRE4:1;\r
+            unsigned long MSTPCRE5:1;\r
+            unsigned long :26;\r
+        } BIT;\r
+    } MSTPCRE;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MSTPCRF0:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } MSTPCRF;\r
+    char           wk8[1256];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ATCMWAIT:2;\r
+            unsigned long :30;\r
+        } BIT;\r
+    } SYTATCMWAIT;\r
+    char           wk9[284];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEMFEN:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SYTSEMFEN;\r
+    char           wk10[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEMF0:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SYTSEMF0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEMF1:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SYTSEMF1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEMF2:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SYTSEMF2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEMF3:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SYTSEMF3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEMF4:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SYTSEMF4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEMF5:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SYTSEMF5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEMF6:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SYTSEMF6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SEMF7:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } SYTSEMF7;\r
+    char           wk11[176];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SWVSEL:2;\r
+            unsigned long :30;\r
+        } BIT;\r
+    } DBGIFCNT;\r
+    char           wk12[92];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MD0:1;\r
+            unsigned long MD1:1;\r
+            unsigned long MD2:1;\r
+            unsigned long :29;\r
+        } BIT;\r
+    } MDMONR;\r
+    char           wk13[28];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MSKC:1;\r
+            unsigned long MSKM:1;\r
+            unsigned long :30;\r
+        } BIT;\r
+    } ECMMCNT;\r
+    char           wk14[124];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } PRCR;\r
+};\r
+\r
+struct st_tpu0\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR;\r
+    char           wk0[7];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char ICSELB:1;\r
+            unsigned char ICSELD:1;\r
+        } BIT;\r
+    } TMDR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIORH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:4;\r
+            unsigned char IOD:4;\r
+        } BIT;\r
+    } TIORL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char TCIEU:1;\r
+            unsigned char :1;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char TGFC:1;\r
+            unsigned char TGFD:1;\r
+            unsigned char TCFV:1;\r
+            unsigned char TCFU:1;\r
+            unsigned char :1;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    unsigned short TCNT;\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+    unsigned short TGRC;\r
+    unsigned short TGRD;\r
+};\r
+\r
+struct st_tpu1\r
+{\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR;\r
+    char           wk1[22];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char ICSELB:1;\r
+            unsigned char ICSELD:1;\r
+        } BIT;\r
+    } TMDR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIOR;\r
+    char           wk2[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char TCIEU:1;\r
+            unsigned char :1;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char TGFC:1;\r
+            unsigned char TGFD:1;\r
+            unsigned char TCFV:1;\r
+            unsigned char TCFU:1;\r
+            unsigned char :1;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    unsigned short TCNT;\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+};\r
+\r
+struct st_tpu2\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR;\r
+    char           wk0[37];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char ICSELB:1;\r
+            unsigned char ICSELD:1;\r
+        } BIT;\r
+    } TMDR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIOR;\r
+    char           wk1[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char TCIEU:1;\r
+            unsigned char :1;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char TGFC:1;\r
+            unsigned char TGFD:1;\r
+            unsigned char TCFV:1;\r
+            unsigned char TCFU:1;\r
+            unsigned char :1;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    unsigned short TCNT;\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+};\r
+\r
+struct st_tpu3\r
+{\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR;\r
+    char           wk1[52];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char ICSELB:1;\r
+            unsigned char ICSELD:1;\r
+        } BIT;\r
+    } TMDR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIORH;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOC:4;\r
+            unsigned char IOD:4;\r
+        } BIT;\r
+    } TIORL;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char TCIEU:1;\r
+            unsigned char :1;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char TGFC:1;\r
+            unsigned char TGFD:1;\r
+            unsigned char TCFV:1;\r
+            unsigned char TCFU:1;\r
+            unsigned char :1;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    unsigned short TCNT;\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+    unsigned short TGRC;\r
+    unsigned short TGRD;\r
+};\r
+\r
+struct st_tpu4\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR;\r
+    char           wk0[67];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char ICSELB:1;\r
+            unsigned char ICSELD:1;\r
+        } BIT;\r
+    } TMDR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIOR;\r
+    char           wk1[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char TCIEU:1;\r
+            unsigned char :1;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char TGFC:1;\r
+            unsigned char TGFD:1;\r
+            unsigned char TCFV:1;\r
+            unsigned char TCFU:1;\r
+            unsigned char :1;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    unsigned short TCNT;\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+};\r
+\r
+struct st_tpu5\r
+{\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char NFAEN:1;\r
+            unsigned char NFBEN:1;\r
+            unsigned char NFCEN:1;\r
+            unsigned char NFDEN:1;\r
+            unsigned char NFCS:2;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } NFCR;\r
+    char           wk1[82];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TPSC:3;\r
+            unsigned char CKEG:2;\r
+            unsigned char CCLR:3;\r
+        } BIT;\r
+    } TCR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char MD:4;\r
+            unsigned char BFA:1;\r
+            unsigned char BFB:1;\r
+            unsigned char ICSELB:1;\r
+            unsigned char ICSELD:1;\r
+        } BIT;\r
+    } TMDR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char IOA:4;\r
+            unsigned char IOB:4;\r
+        } BIT;\r
+    } TIOR;\r
+    char           wk2[1];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGIEA:1;\r
+            unsigned char TGIEB:1;\r
+            unsigned char TGIEC:1;\r
+            unsigned char TGIED:1;\r
+            unsigned char TCIEV:1;\r
+            unsigned char TCIEU:1;\r
+            unsigned char :1;\r
+            unsigned char TTGE:1;\r
+        } BIT;\r
+    } TIER;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char TGFA:1;\r
+            unsigned char TGFB:1;\r
+            unsigned char TGFC:1;\r
+            unsigned char TGFD:1;\r
+            unsigned char TCFV:1;\r
+            unsigned char TCFU:1;\r
+            unsigned char :1;\r
+            unsigned char TCFD:1;\r
+        } BIT;\r
+    } TSR;\r
+    unsigned short TCNT;\r
+    unsigned short TGRA;\r
+    unsigned short TGRB;\r
+};\r
+\r
+struct st_tpua\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CST0:1;\r
+            unsigned char CST1:1;\r
+            unsigned char CST2:1;\r
+            unsigned char CST3:1;\r
+            unsigned char CST4:1;\r
+            unsigned char CST5:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TSTRA;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SYNC0:1;\r
+            unsigned char SYNC1:1;\r
+            unsigned char SYNC2:1;\r
+            unsigned char SYNC3:1;\r
+            unsigned char SYNC4:1;\r
+            unsigned char SYNC5:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TSYRA;\r
+    char           wk0[126];\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char CST0:1;\r
+            unsigned char CST1:1;\r
+            unsigned char CST2:1;\r
+            unsigned char CST3:1;\r
+            unsigned char CST4:1;\r
+            unsigned char CST5:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TSTRB;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char SYNC0:1;\r
+            unsigned char SYNC1:1;\r
+            unsigned char SYNC2:1;\r
+            unsigned char SYNC3:1;\r
+            unsigned char SYNC4:1;\r
+            unsigned char SYNC5:1;\r
+            unsigned char :2;\r
+        } BIT;\r
+    } TSYRB;\r
+};\r
+\r
+struct st_tpusl\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long TPU0EN:1;\r
+            unsigned long :1;\r
+            unsigned long FBSL0:3;\r
+            unsigned long :3;\r
+            unsigned long TPU1EN:1;\r
+            unsigned long :1;\r
+            unsigned long FBSL1:3;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } PWMFBSLR;\r
+};\r
+\r
+struct st_tsn\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :4;\r
+            unsigned char TSOE:1;\r
+            unsigned char :2;\r
+            unsigned char TSEN:1;\r
+        } BIT;\r
+    } TSCR;\r
+};\r
+\r
+struct st_usbf\r
+{\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short USBE:1;\r
+            unsigned short :3;\r
+            unsigned short DPRPU:1;\r
+            unsigned short DRPD:1;\r
+            unsigned short :1;\r
+            unsigned short HSE:1;\r
+            unsigned short :8;\r
+        } BIT;\r
+    } SYSCFG0;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short BWAIT:6;\r
+            unsigned short :10;\r
+        } BIT;\r
+    } SYSCFG1;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short LNST:2;\r
+            unsigned short :14;\r
+        } BIT;\r
+    } SYSSTS0;\r
+    char           wk0[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short RHST:3;\r
+            unsigned short :5;\r
+            unsigned short WKUP:1;\r
+            unsigned short :7;\r
+        } BIT;\r
+    } DVSTCTR0;\r
+    char           wk1[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short UTST:4;\r
+            unsigned short :12;\r
+        } BIT;\r
+    } TESTMODE;\r
+    char           wk2[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :4;\r
+            unsigned short TENDE:1;\r
+            unsigned short :7;\r
+            unsigned short DFACC:2;\r
+            unsigned short :2;\r
+        } BIT;\r
+    } D0FBCFG;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :4;\r
+            unsigned short TENDE:1;\r
+            unsigned short :7;\r
+            unsigned short DFACC:2;\r
+            unsigned short :2;\r
+        } BIT;\r
+    } D1FBCFG;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } CFIFO;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D0FIFO;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned short H;\r
+            unsigned short L;\r
+        } WORD;\r
+        struct\r
+        {\r
+            unsigned char HH;\r
+            unsigned char HL;\r
+            unsigned char LH;\r
+            unsigned char LL;\r
+        } BYTE;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D1FIFO;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CURPIPE:4;\r
+            unsigned short :1;\r
+            unsigned short ISEL:1;\r
+            unsigned short :2;\r
+            unsigned short BIGEND:1;\r
+            unsigned short :1;\r
+            unsigned short MBW:2;\r
+            unsigned short :2;\r
+            unsigned short REW:1;\r
+            unsigned short RCNT:1;\r
+        } BIT;\r
+    } CFIFOSEL;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short DTLN:12;\r
+            unsigned short :1;\r
+            unsigned short FRDY:1;\r
+            unsigned short BCLR:1;\r
+            unsigned short BVAL:1;\r
+        } BIT;\r
+    } CFIFOCTR;\r
+    char           wk3[4];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CURPIPE:4;\r
+            unsigned short :4;\r
+            unsigned short BIGEND:1;\r
+            unsigned short :1;\r
+            unsigned short MBW:2;\r
+            unsigned short DREQE:1;\r
+            unsigned short DCLRM:1;\r
+            unsigned short REW:1;\r
+            unsigned short RCNT:1;\r
+        } BIT;\r
+    } D0FIFOSEL;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short DTLN:12;\r
+            unsigned short :1;\r
+            unsigned short FRDY:1;\r
+            unsigned short BCLR:1;\r
+            unsigned short BVAL:1;\r
+        } BIT;\r
+    } D0FIFOCTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CURPIPE:4;\r
+            unsigned short :4;\r
+            unsigned short BIGEND:1;\r
+            unsigned short :1;\r
+            unsigned short MBW:2;\r
+            unsigned short DREQE:1;\r
+            unsigned short DCLRM:1;\r
+            unsigned short REW:1;\r
+            unsigned short RCNT:1;\r
+        } BIT;\r
+    } D1FIFOSEL;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short DTLN:12;\r
+            unsigned short :1;\r
+            unsigned short FRDY:1;\r
+            unsigned short BCLR:1;\r
+            unsigned short BVAL:1;\r
+        } BIT;\r
+    } D1FIFOCTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :8;\r
+            unsigned short BRDYE:1;\r
+            unsigned short NRDYE:1;\r
+            unsigned short BEMPE:1;\r
+            unsigned short CTRE:1;\r
+            unsigned short DVSE:1;\r
+            unsigned short SOFE:1;\r
+            unsigned short RSME:1;\r
+            unsigned short VBSE:1;\r
+        } BIT;\r
+    } INTENB0;\r
+    char           wk4[4];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PIPEBRDYE:10;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } BRDYENB;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PIPENRDYE:10;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } NRDYENB;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PIPEBEMPE:10;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } BEMPENB;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :4;\r
+            unsigned short EDGESTS:1;\r
+            unsigned short INTL:1;\r
+            unsigned short BRDYM:1;\r
+            unsigned short :9;\r
+        } BIT;\r
+    } SOFCFG;\r
+    char           wk5[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CTSQ:3;\r
+            unsigned short VALID:1;\r
+            unsigned short DVSQ:3;\r
+            unsigned short VBSTS:1;\r
+            unsigned short BRDY:1;\r
+            unsigned short NRDY:1;\r
+            unsigned short BEMP:1;\r
+            unsigned short CTRT:1;\r
+            unsigned short DVST:1;\r
+            unsigned short SOFR:1;\r
+            unsigned short RESM:1;\r
+            unsigned short VBINT:1;\r
+        } BIT;\r
+    } INTSTS0;\r
+    char           wk6[4];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PIPEBRDY:10;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } BRDYSTS;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PIPENRDY:10;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } NRDYSTS;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PIPEBEMP:10;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } BEMPSTS;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short FRNM:11;\r
+            unsigned short :3;\r
+            unsigned short CRCE:1;\r
+            unsigned short OVRN:1;\r
+        } BIT;\r
+    } FRMNUM;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short UFRNM:3;\r
+            unsigned short :13;\r
+        } BIT;\r
+    } UFRMNUM;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short USBADDR:7;\r
+            unsigned short :9;\r
+        } BIT;\r
+    } USBADDR;\r
+    char           wk7[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short bmRequestType:8;\r
+            unsigned short bRequest:8;\r
+        } BIT;\r
+    } USBREQ;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short wValue:16;\r
+        } BIT;\r
+    } USBVAL;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short wIndex:16;\r
+        } BIT;\r
+    } USBINDX;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short wLength:16;\r
+        } BIT;\r
+    } USBLENG;\r
+    unsigned short DCPCFG;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short MXPS:7;\r
+            unsigned short :9;\r
+        } BIT;\r
+    } DCPMAXP;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PID:2;\r
+            unsigned short CCPL:1;\r
+            unsigned short :2;\r
+            unsigned short PBUSY:1;\r
+            unsigned short SQMON:1;\r
+            unsigned short SQSET:1;\r
+            unsigned short SQCLR:1;\r
+            unsigned short :6;\r
+            unsigned short BSTS:1;\r
+        } BIT;\r
+    } DCPCTR;\r
+    char           wk8[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PIPESEL:4;\r
+            unsigned short :12;\r
+        } BIT;\r
+    } PIPESEL;\r
+    char           wk9[2];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short EPNUM:4;\r
+            unsigned short DIR:1;\r
+            unsigned short :2;\r
+            unsigned short SHTNAK:1;\r
+            unsigned short CNTMD:1;\r
+            unsigned short DBLB:1;\r
+            unsigned short BFRE:1;\r
+            unsigned short :3;\r
+            unsigned short TYPE:2;\r
+        } BIT;\r
+    } PIPECFG;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short BUFNMB:8;\r
+            unsigned short :2;\r
+            unsigned short BUFSIZE:5;\r
+            unsigned short :1;\r
+        } BIT;\r
+    } PIPEBUF;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short MXPS:11;\r
+            unsigned short :5;\r
+        } BIT;\r
+    } PIPEMAXP;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short IITV:3;\r
+            unsigned short :9;\r
+            unsigned short IFIS:1;\r
+            unsigned short :3;\r
+        } BIT;\r
+    } PIPEPERI;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PID:2;\r
+            unsigned short :3;\r
+            unsigned short PBUSY:1;\r
+            unsigned short SQMON:1;\r
+            unsigned short SQSET:1;\r
+            unsigned short SQCLR:1;\r
+            unsigned short ACLRM:1;\r
+            unsigned short ATREPM:1;\r
+            unsigned short :3;\r
+            unsigned short INBUFM:1;\r
+            unsigned short BSTS:1;\r
+        } BIT;\r
+    } PIPE1CTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PID:2;\r
+            unsigned short :3;\r
+            unsigned short PBUSY:1;\r
+            unsigned short SQMON:1;\r
+            unsigned short SQSET:1;\r
+            unsigned short SQCLR:1;\r
+            unsigned short ACLRM:1;\r
+            unsigned short ATREPM:1;\r
+            unsigned short :3;\r
+            unsigned short INBUFM:1;\r
+            unsigned short BSTS:1;\r
+        } BIT;\r
+    } PIPE2CTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PID:2;\r
+            unsigned short :3;\r
+            unsigned short PBUSY:1;\r
+            unsigned short SQMON:1;\r
+            unsigned short SQSET:1;\r
+            unsigned short SQCLR:1;\r
+            unsigned short ACLRM:1;\r
+            unsigned short ATREPM:1;\r
+            unsigned short :3;\r
+            unsigned short INBUFM:1;\r
+            unsigned short BSTS:1;\r
+        } BIT;\r
+    } PIPE3CTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PID:2;\r
+            unsigned short :3;\r
+            unsigned short PBUSY:1;\r
+            unsigned short SQMON:1;\r
+            unsigned short SQSET:1;\r
+            unsigned short SQCLR:1;\r
+            unsigned short ACLRM:1;\r
+            unsigned short ATREPM:1;\r
+            unsigned short :3;\r
+            unsigned short INBUFM:1;\r
+            unsigned short BSTS:1;\r
+        } BIT;\r
+    } PIPE4CTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PID:2;\r
+            unsigned short :3;\r
+            unsigned short PBUSY:1;\r
+            unsigned short SQMON:1;\r
+            unsigned short SQSET:1;\r
+            unsigned short SQCLR:1;\r
+            unsigned short ACLRM:1;\r
+            unsigned short ATREPM:1;\r
+            unsigned short :3;\r
+            unsigned short INBUFM:1;\r
+            unsigned short BSTS:1;\r
+        } BIT;\r
+    } PIPE5CTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PID:2;\r
+            unsigned short :3;\r
+            unsigned short PBUSY:1;\r
+            unsigned short SQMON:1;\r
+            unsigned short SQSET:1;\r
+            unsigned short SQCLR:1;\r
+            unsigned short ACLRM:1;\r
+            unsigned short :5;\r
+            unsigned short BSTS:1;\r
+        } BIT;\r
+    } PIPE6CTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PID:2;\r
+            unsigned short :3;\r
+            unsigned short PBUSY:1;\r
+            unsigned short SQMON:1;\r
+            unsigned short SQSET:1;\r
+            unsigned short SQCLR:1;\r
+            unsigned short ACLRM:1;\r
+            unsigned short :5;\r
+            unsigned short BSTS:1;\r
+        } BIT;\r
+    } PIPE7CTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PID:2;\r
+            unsigned short :3;\r
+            unsigned short PBUSY:1;\r
+            unsigned short SQMON:1;\r
+            unsigned short SQSET:1;\r
+            unsigned short SQCLR:1;\r
+            unsigned short ACLRM:1;\r
+            unsigned short :5;\r
+            unsigned short BSTS:1;\r
+        } BIT;\r
+    } PIPE8CTR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short PID:2;\r
+            unsigned short :3;\r
+            unsigned short PBUSY:1;\r
+            unsigned short SQMON:1;\r
+            unsigned short SQSET:1;\r
+            unsigned short SQCLR:1;\r
+            unsigned short ACLRM:1;\r
+            unsigned short :5;\r
+            unsigned short BSTS:1;\r
+        } BIT;\r
+    } PIPE9CTR;\r
+    char           wk10[14];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :8;\r
+            unsigned short TRCLR:1;\r
+            unsigned short TRENB:1;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } PIPE1TRE;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TRNCNT:16;\r
+        } BIT;\r
+    } PIPE1TRN;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :8;\r
+            unsigned short TRCLR:1;\r
+            unsigned short TRENB:1;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } PIPE2TRE;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TRNCNT:16;\r
+        } BIT;\r
+    } PIPE2TRN;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :8;\r
+            unsigned short TRCLR:1;\r
+            unsigned short TRENB:1;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } PIPE3TRE;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TRNCNT:16;\r
+        } BIT;\r
+    } PIPE3TRN;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :8;\r
+            unsigned short TRCLR:1;\r
+            unsigned short TRENB:1;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } PIPE4TRE;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TRNCNT:16;\r
+        } BIT;\r
+    } PIPE4TRN;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :8;\r
+            unsigned short TRCLR:1;\r
+            unsigned short TRENB:1;\r
+            unsigned short :6;\r
+        } BIT;\r
+    } PIPE5TRE;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TRNCNT:16;\r
+        } BIT;\r
+    } PIPE5TRN;\r
+    char           wk11[92];\r
+    unsigned short LPCTRL;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short :14;\r
+            unsigned short SUSPM:1;\r
+            unsigned short :1;\r
+        } BIT;\r
+    } LPSTS;\r
+    unsigned short PHYFUNCTR;\r
+    char           wk12[90];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D0FIFOB0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D0FIFOB1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D0FIFOB2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D0FIFOB3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D0FIFOB4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D0FIFOB5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D0FIFOB6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D0FIFOB7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D1FIFOB0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D1FIFOB1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D1FIFOB2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D1FIFOB3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D1FIFOB4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D1FIFOB5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D1FIFOB6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FIFOPORT:32;\r
+        } BIT;\r
+    } D1FIFOB7;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short P1PORTSEL:2;\r
+            unsigned short PHYPD:1;\r
+            unsigned short PHYRESET:1;\r
+            unsigned short PHYVBUSIN:1;\r
+            unsigned short :11;\r
+        } BIT;\r
+    } PHYSET1;\r
+};\r
+\r
+struct st_usbh\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long Revision:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } HcRevision;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CBSR:2;\r
+            unsigned long PLE:1;\r
+            unsigned long IE:1;\r
+            unsigned long CLE:1;\r
+            unsigned long BLE:1;\r
+            unsigned long HCFS:2;\r
+            unsigned long :1;\r
+            unsigned long RWC:1;\r
+            unsigned long RWE:1;\r
+            unsigned long :21;\r
+        } BIT;\r
+    } HcControl;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long HCR:1;\r
+            unsigned long CLF:1;\r
+            unsigned long BLF:1;\r
+            unsigned long OCR:1;\r
+            unsigned long :12;\r
+            unsigned long SOC:2;\r
+            unsigned long :14;\r
+        } BIT;\r
+    } HcCommandStatus;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SO:1;\r
+            unsigned long WDH:1;\r
+            unsigned long SF:1;\r
+            unsigned long RD:1;\r
+            unsigned long UE:1;\r
+            unsigned long FNO:1;\r
+            unsigned long RHSC:1;\r
+            unsigned long :25;\r
+        } BIT;\r
+    } HcIntStatus;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SOE:1;\r
+            unsigned long WDHE:1;\r
+            unsigned long SFE:1;\r
+            unsigned long RDE:1;\r
+            unsigned long UEE:1;\r
+            unsigned long FNOE:1;\r
+            unsigned long RHSCE:1;\r
+            unsigned long :24;\r
+            unsigned long MIE:1;\r
+        } BIT;\r
+    } HcIntEnable;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SOD:1;\r
+            unsigned long WDHD:1;\r
+            unsigned long SFD:1;\r
+            unsigned long RDD:1;\r
+            unsigned long UED:1;\r
+            unsigned long FNOD:1;\r
+            unsigned long RHSCD:1;\r
+            unsigned long :24;\r
+            unsigned long MID:1;\r
+        } BIT;\r
+    } HcIntDisable;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :8;\r
+            unsigned long HcHCCA:24;\r
+        } BIT;\r
+    } HcHCCA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :4;\r
+            unsigned long PeriodicCurrentED:28;\r
+        } BIT;\r
+    } HcPeriodCurED;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :4;\r
+            unsigned long ControlHeadED:28;\r
+        } BIT;\r
+    } HcContHeadED;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :4;\r
+            unsigned long ControlCurrentED:28;\r
+        } BIT;\r
+    } HcContCurrentED;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :4;\r
+            unsigned long BulkHeadED:28;\r
+        } BIT;\r
+    } HcBulkHeadED;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :4;\r
+            unsigned long BulkCurrentED:28;\r
+        } BIT;\r
+    } HcBulkCurrentED;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :4;\r
+            unsigned long DoneHead:28;\r
+        } BIT;\r
+    } HcDoneHead;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FI:14;\r
+            unsigned long :2;\r
+            unsigned long FSMPS:15;\r
+            unsigned long FIT:1;\r
+        } BIT;\r
+    } HcFmInterval;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FR:14;\r
+            unsigned long :17;\r
+            unsigned long FRT:1;\r
+        } BIT;\r
+    } HcFmRemaining;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FrameNumber:16;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } HcFmNumber;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PeriodicStart:14;\r
+            unsigned long :18;\r
+        } BIT;\r
+    } HcPeriodicStart;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long HcLSThreshold:12;\r
+            unsigned long :20;\r
+        } BIT;\r
+    } HcLSThreshold;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long NDP:8;\r
+            unsigned long PSM:1;\r
+            unsigned long NPS:1;\r
+            unsigned long DT:1;\r
+            unsigned long OCPM:1;\r
+            unsigned long NOCP:1;\r
+            unsigned long :11;\r
+            unsigned long POTPGT:8;\r
+        } BIT;\r
+    } HcRhDescriptorA;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long DR:16;\r
+            unsigned long PPCM:16;\r
+        } BIT;\r
+    } HcRhDescriptorB;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long CGP:1;\r
+                unsigned long OCI:1;\r
+                unsigned long :13;\r
+                unsigned long SRWE:1;\r
+                unsigned long SGP:1;\r
+                unsigned long OCIC:1;\r
+                unsigned long :13;\r
+                unsigned long CRWE:1;\r
+            } BIT;\r
+        } HcRhStatus_A;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long LPS:1;\r
+                unsigned long OCI:1;\r
+                unsigned long :13;\r
+                unsigned long DRWE:1;\r
+                unsigned long LPSC:1;\r
+                unsigned long OCIC:1;\r
+                unsigned long :13;\r
+                unsigned long CRWE:1;\r
+            } BIT;\r
+        } HcRhStatus_B;\r
+    } HcRhStatus;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long CPE:1;\r
+                unsigned long SPE:1;\r
+                unsigned long SPS:1;\r
+                unsigned long CSS:1;\r
+                unsigned long SPR:1;\r
+                unsigned long :3;\r
+                unsigned long SPP:1;\r
+                unsigned long CPP:1;\r
+                unsigned long :6;\r
+                unsigned long CSC:1;\r
+                unsigned long PESC:1;\r
+                unsigned long PSSC:1;\r
+                unsigned long OCIC:1;\r
+                unsigned long PRSC:1;\r
+                unsigned long :11;\r
+            } BIT;\r
+        } HcRhPortStatus1_A;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long CCS:1;\r
+                unsigned long PES:1;\r
+                unsigned long PSS:1;\r
+                unsigned long POCI:1;\r
+                unsigned long PRS:1;\r
+                unsigned long :3;\r
+                unsigned long PPS:1;\r
+                unsigned long LSDA:1;\r
+                unsigned long :6;\r
+                unsigned long CSC:1;\r
+                unsigned long PESC:1;\r
+                unsigned long PSSC:1;\r
+                unsigned long OCIC:1;\r
+                unsigned long PRSC:1;\r
+                unsigned long :11;\r
+            } BIT;\r
+        } HcRhPortStatus1_B;\r
+    } HcRhPortStatus1;\r
+    char           wk0[4008];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CapabilityRegistersLength:8;\r
+            unsigned long :8;\r
+            unsigned long InterfaceVersionNumber:16;\r
+        } BIT;\r
+    } CAPL_VERSION;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long N_PORTS:4;\r
+            unsigned long PPC:1;\r
+            unsigned long :2;\r
+            unsigned long PortRoutingRules:1;\r
+            unsigned long N_PCC:4;\r
+            unsigned long N_CC:4;\r
+            unsigned long P_INDICATOR:1;\r
+            unsigned long :3;\r
+            unsigned long DebugPortNumber:4;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } HCSPARAMS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long AC64:1;\r
+            unsigned long PFLF:1;\r
+            unsigned long ASPC:1;\r
+            unsigned long :1;\r
+            unsigned long IST:4;\r
+            unsigned long EECP:8;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } HCCPARAMS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CompanionPortRoute:32;\r
+        } BIT;\r
+    } HCSP_PORTROUTE;\r
+    char           wk1[16];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RS:1;\r
+            unsigned long HCRESET:1;\r
+            unsigned long FrameListSize:2;\r
+            unsigned long PeriodicScheduleEnable:1;\r
+            unsigned long ASPME:1;\r
+            unsigned long InterruptonAsyncAdvanceDoorbell:1;\r
+            unsigned long LightHostControllerReset:1;\r
+            unsigned long ASPMC:2;\r
+            unsigned long :1;\r
+            unsigned long AsynchronousScheduleParkModeEnable:1;\r
+            unsigned long :4;\r
+            unsigned long InterruptThresholdControl:8;\r
+            unsigned long :8;\r
+        } BIT;\r
+    } USBCMD;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long USBINT:1;\r
+            unsigned long USBERRINT:1;\r
+            unsigned long PortChangeDetect:1;\r
+            unsigned long FrameListRollover:1;\r
+            unsigned long HostSystemError:1;\r
+            unsigned long InterruptonAsyncAdvance:1;\r
+            unsigned long :6;\r
+            unsigned long HCHalted:1;\r
+            unsigned long Reclamation:1;\r
+            unsigned long PeriodicScheduleStatus:1;\r
+            unsigned long AsynchronousScheduleStatus:1;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } USBSTS;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long USBInterruptEnable:1;\r
+            unsigned long USBErrorInterruptEnable:1;\r
+            unsigned long PortChangeInterruptEnable:1;\r
+            unsigned long FrameListRolloverEnable:1;\r
+            unsigned long HostSystemErrorEnable:1;\r
+            unsigned long InterruptonAsyncAdvanceEnable:1;\r
+            unsigned long :26;\r
+        } BIT;\r
+    } USBINTR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long FrameIndex:14;\r
+            unsigned long :18;\r
+        } BIT;\r
+    } FRINDEX;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CTRLDSSEGMENT:32;\r
+        } BIT;\r
+    } CTRLDSSEGMENT;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :12;\r
+            unsigned long BaseAddressLow:20;\r
+        } BIT;\r
+    } PERIODICLIST;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :5;\r
+            unsigned long LPL:27;\r
+        } BIT;\r
+    } ASYNCLISTADDR;\r
+    char           wk2[36];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CF:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } CONFIGFLAG;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CurrentConnectStatus:1;\r
+            unsigned long ConnectStatusChange:1;\r
+            unsigned long PortEnabledDisabled:1;\r
+            unsigned long PortEnableDisableChange:1;\r
+            unsigned long OvercurrentActive:1;\r
+            unsigned long OvercurrentChange:1;\r
+            unsigned long ForcePortResume:1;\r
+            unsigned long Suspend:1;\r
+            unsigned long PortReset:1;\r
+            unsigned long :1;\r
+            unsigned long LineStatus:2;\r
+            unsigned long PP:1;\r
+            unsigned long PortOwner:1;\r
+            unsigned long PortIndicatorControl:2;\r
+            unsigned long PortTestControl:4;\r
+            unsigned long WKCNNT_E:1;\r
+            unsigned long WKDSCNNT_E:1;\r
+            unsigned long WKOC_E:1;\r
+            unsigned long :9;\r
+        } BIT;\r
+    } PORTSC1;\r
+    char           wk3[61336];\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long VendorID:16;\r
+                unsigned long DeviceID:16;\r
+            } BIT;\r
+        } VID_DID_O;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long VENDOR_ID:16;\r
+                unsigned long DEVICE_ID:16;\r
+            } BIT;\r
+        } VID_DID_A;\r
+    } VID_DID;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long IOSpace:1;\r
+                unsigned long MemorySpace:1;\r
+                unsigned long BusMaster:1;\r
+                unsigned long SpecialCycle:1;\r
+                unsigned long MemoryWriteandInvalidateEnable:1;\r
+                unsigned long VGAPaletteSnoop:1;\r
+                unsigned long ParityErrorResponse:1;\r
+                unsigned long WaitCycleControl:1;\r
+                unsigned long SERREnable:1;\r
+                unsigned long FastBacktoBackEnable:1;\r
+                unsigned long :10;\r
+                unsigned long CapabilitiesList:1;\r
+                unsigned long :2;\r
+                unsigned long FastBacktoBackCapable:1;\r
+                unsigned long DataParityErrorDetected:1;\r
+                unsigned long DevselTiming:2;\r
+                unsigned long SignaledTargetAbort:1;\r
+                unsigned long ReceivedTargetAbort:1;\r
+                unsigned long ReceivedMasterAbort:1;\r
+                unsigned long SignaledSystemError:1;\r
+                unsigned long DetectedParityError:1;\r
+            } BIT;\r
+        } CMND_STS_O;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long IOEN:1;\r
+                unsigned long MEMEN:1;\r
+                unsigned long MASTEREN:1;\r
+                unsigned long SPECIALC:1;\r
+                unsigned long MWINVEN:1;\r
+                unsigned long VGAPSNP:1;\r
+                unsigned long PERREN:1;\r
+                unsigned long STEPCTR:1;\r
+                unsigned long SERREN:1;\r
+                unsigned long FBTBEN:1;\r
+                unsigned long :10;\r
+                unsigned long CAPLIST:1;\r
+                unsigned long CAP66M:1;\r
+                unsigned long :1;\r
+                unsigned long FBTBCAP:1;\r
+                unsigned long MDPERR:1;\r
+                unsigned long DEVTIM:2;\r
+                unsigned long SIGTABORT:1;\r
+                unsigned long RETABORT:1;\r
+                unsigned long REMABORT:1;\r
+                unsigned long SIGSERR:1;\r
+                unsigned long DETPERR:1;\r
+            } BIT;\r
+        } CMND_STS_A;\r
+    } CMND_STS;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long RevisionID:8;\r
+                unsigned long ProgrammingIF:8;\r
+                unsigned long SubClass:8;\r
+                unsigned long BaseClass:8;\r
+            } BIT;\r
+        } REVID_CC_O;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long REVISION_ID:8;\r
+                unsigned long CLASS_CODE:24;\r
+            } BIT;\r
+        } REVID_CC_A;\r
+    } REVID_CC;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long CacheLineSize:8;\r
+                unsigned long LatencyTimer:8;\r
+                unsigned long HeaderType:8;\r
+                unsigned long BIST:8;\r
+            } BIT;\r
+        } CLS_LT_HT_BIST_O;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long CACHE_LINE_SIZE:8;\r
+                unsigned long LATENCY_TIMER:8;\r
+                unsigned long HEADER_TYPE:8;\r
+                unsigned long BIST:8;\r
+            } BIT;\r
+        } CLS_LT_HT_BIST_A;\r
+    } CLS_LT_HT_BIST;\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long MemorySpaceIndicator:1;\r
+                unsigned long Type:2;\r
+                unsigned long Prefetchable:1;\r
+                unsigned long OHCIBaseAddress:28;\r
+            } BIT;\r
+        } BASEAD_O;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long MEM:1;\r
+                unsigned long TYPE:2;\r
+                unsigned long PREFETCH:1;\r
+                unsigned long :6;\r
+                unsigned long PCICOM_BASEADR:22;\r
+            } BIT;\r
+        } BASEAD_A;\r
+    } BASEAD;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MEM:1;\r
+            unsigned long TYPE:2;\r
+            unsigned long PREFETCH:1;\r
+            unsigned long :24;\r
+            unsigned long PCI_WIN1_BASEADR:4;\r
+        } BIT;\r
+    } WIN1_BASEAD;\r
+    char           wk4[20];\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SubsystemVendorID:16;\r
+                unsigned long SubsystemID:16;\r
+            } BIT;\r
+        } SSVID_SSID_O;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long SUBSYS_VENDOR_ID:16;\r
+                unsigned long SUBSYS_ID:16;\r
+            } BIT;\r
+        } SSVID_SSID_A;\r
+    } SSVID_SSID;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ROMDecodeEnable:1;\r
+            unsigned long :9;\r
+            unsigned long ExpansionROMBaseAddress:22;\r
+        } BIT;\r
+    } EROM_BASEAD;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CapabilityPointer:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } CAPPTR;\r
+    char           wk5[4];\r
+    union\r
+    {\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long InterruptLine:8;\r
+                unsigned long InterruptPin:8;\r
+                unsigned long MINGnt:8;\r
+                unsigned long MaxLatency:8;\r
+            } BIT;\r
+        } INTR_LINE_PIN_O;\r
+        union\r
+        {\r
+            unsigned long LONG;\r
+            struct\r
+            {\r
+                unsigned long INT_LINE:8;\r
+                unsigned long INT_PIN:8;\r
+                unsigned long MIN_GNT:8;\r
+                unsigned long MAX_LAT:8;\r
+            } BIT;\r
+        } INTR_LINE_PIN_A;\r
+    } INTR_LINE_PIN;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CapabilityIdentifier:8;\r
+            unsigned long NextItemPointer:8;\r
+            unsigned long Version:3;\r
+            unsigned long PMECLK:1;\r
+            unsigned long :1;\r
+            unsigned long DSI:1;\r
+            unsigned long AUXCurrent:3;\r
+            unsigned long D1Support:1;\r
+            unsigned long D2Support:1;\r
+            unsigned long PMESupport:5;\r
+        } BIT;\r
+    } CAPID_NIP_PMCAP;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PowerState:2;\r
+            unsigned long :6;\r
+            unsigned long PMEEnable:1;\r
+            unsigned long DataSelect:4;\r
+            unsigned long DataScale:2;\r
+            unsigned long PMEStatus:1;\r
+            unsigned long :6;\r
+            unsigned long B2_B3:1;\r
+            unsigned long BPCCEnable:1;\r
+            unsigned long Data:8;\r
+        } BIT;\r
+    } PMC_STS_PMCSR;\r
+    char           wk6[152];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long Port_no:2;\r
+            unsigned long :5;\r
+            unsigned long ID_Write_Enable:1;\r
+            unsigned long :5;\r
+            unsigned long HyperSpeedtransferControl1:1;\r
+            unsigned long :5;\r
+            unsigned long HyperSpeedtransferControl2:5;\r
+            unsigned long potpgt:8;\r
+        } BIT;\r
+    } EXT1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long EHCI_mask:1;\r
+            unsigned long HyperSpeedtransferControl3:1;\r
+            unsigned long :14;\r
+            unsigned long RUNRAMConnectCheck:1;\r
+            unsigned long RAMConnectCheckENDFlag:1;\r
+            unsigned long RAMConnectCheckResult:1;\r
+            unsigned long :13;\r
+        } BIT;\r
+    } EXT2;\r
+    char           wk7[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VendorID:16;\r
+            unsigned long DeviceID:16;\r
+        } BIT;\r
+    } VID_DID_E;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IOSpace:1;\r
+            unsigned long MemorySpace:1;\r
+            unsigned long BusMaster:1;\r
+            unsigned long SpecialCycle:1;\r
+            unsigned long MemoryWriteandInvalidateEnable:1;\r
+            unsigned long VGAPaletteSnoop:1;\r
+            unsigned long ParityErrorResponse:1;\r
+            unsigned long WaitCycleControl:1;\r
+            unsigned long SERREnable:1;\r
+            unsigned long FastBacktoBackEnable:1;\r
+            unsigned long :10;\r
+            unsigned long CapabilitiesList:1;\r
+            unsigned long Capable66MHz:1;\r
+            unsigned long :1;\r
+            unsigned long FastBacktoBackCapable:1;\r
+            unsigned long DataParityErrorDetected:1;\r
+            unsigned long DevselTiming:2;\r
+            unsigned long SignaledTargetAbort:1;\r
+            unsigned long ReceivedTargetAbort:1;\r
+            unsigned long ReceivedMasterAbort:1;\r
+            unsigned long SignaledSystemError:1;\r
+            unsigned long DetectedParityError:1;\r
+        } BIT;\r
+    } CMND_STS_E;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RevisionID:8;\r
+            unsigned long ProgrammingIF:8;\r
+            unsigned long SubClass:8;\r
+            unsigned long BaseClass:8;\r
+        } BIT;\r
+    } REVID_CC_E;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CacheLineSize:8;\r
+            unsigned long LatencyTimer:8;\r
+            unsigned long HeaderType:8;\r
+            unsigned long BIST:8;\r
+        } BIT;\r
+    } CLS_LT_HT_BIST_E;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MemorySpaceIndicator:1;\r
+            unsigned long Type:2;\r
+            unsigned long Prefetchable:1;\r
+            unsigned long EHCIBaseAddress:28;\r
+        } BIT;\r
+    } BASEAD_E;\r
+    char           wk8[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SubsystemVendorID:16;\r
+            unsigned long SubsystemID:16;\r
+        } BIT;\r
+    } SSVID_SSID_E;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ROMDecodeEnable:1;\r
+            unsigned long :9;\r
+            unsigned long ExpansionROMBaseAddress:22;\r
+        } BIT;\r
+    } EROM_BASEAD_E;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CapabilityPointer:8;\r
+            unsigned long :24;\r
+        } BIT;\r
+    } CAPPTR_E;\r
+    char           wk9[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long InterruptLine:8;\r
+            unsigned long InterruptPin:8;\r
+            unsigned long MinGnt:8;\r
+            unsigned long MaxLatency:8;\r
+        } BIT;\r
+    } INTR_LINE_PIN_E;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long CapabilityIdentifier:8;\r
+            unsigned long NextItemPointer:8;\r
+            unsigned long Version:3;\r
+            unsigned long PMECLK:1;\r
+            unsigned long :1;\r
+            unsigned long DSI:1;\r
+            unsigned long AUXCurrent:3;\r
+            unsigned long D1Support:1;\r
+            unsigned long D2Support:1;\r
+            unsigned long PMESupport:5;\r
+        } BIT;\r
+    } CAPID_NIP_PMCAP_E;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PowerState:2;\r
+            unsigned long :6;\r
+            unsigned long PMEEnable:1;\r
+            unsigned long DataSelect:4;\r
+            unsigned long DataScale:2;\r
+            unsigned long PMEStatus:1;\r
+            unsigned long :6;\r
+            unsigned long B2_B3:1;\r
+            unsigned long BPCCEnable:1;\r
+            unsigned long Data:8;\r
+        } BIT;\r
+    } PMC_STS_PMCSR_E;\r
+    char           wk10[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SBRN:8;\r
+            unsigned long FLADJ:8;\r
+            unsigned long PORTWAKECAP:16;\r
+        } BIT;\r
+    } SBRN_FLADJ_PW;\r
+    char           wk11[124];\r
+    unsigned long  EXT1_E;\r
+    unsigned long  EXT2_E;\r
+    char           wk12[1560];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PREFETCH:2;\r
+            unsigned long :26;\r
+            unsigned long AHB_BASEADR:4;\r
+        } BIT;\r
+    } PCIAHB_WIN1_CTR;\r
+    char           wk13[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long PCICMD:3;\r
+            unsigned long :7;\r
+            unsigned long PCIWIN1_BASEADR:21;\r
+        } BIT;\r
+    } AHBPCI_WIN1_CTR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long PCICMD:3;\r
+            unsigned long :1;\r
+            unsigned long BURST_EN:1;\r
+            unsigned long :10;\r
+            unsigned long PCIWIN2_BASEADR:16;\r
+        } BIT;\r
+    } AHBPCI_WIN2_CTR;\r
+    char           wk14[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SIGTABORT_INTEN:1;\r
+            unsigned long RETABORT_INTEN:1;\r
+            unsigned long REMABORT_INTEN:1;\r
+            unsigned long PERR_INTEN:1;\r
+            unsigned long SIGSERR_INTEN:1;\r
+            unsigned long RESERR_INTEN:1;\r
+            unsigned long :6;\r
+            unsigned long PCIAHB_WIN1_INTEN:1;\r
+            unsigned long PCIAHB_WIN2_INTEN:1;\r
+            unsigned long :2;\r
+            unsigned long USBH_INTAEN:1;\r
+            unsigned long USBH_INTBEN:1;\r
+            unsigned long :1;\r
+            unsigned long USBH_PMEEN:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } PCI_INT_ENABLE;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long SIGTABORT_INT:1;\r
+            unsigned long RETABORT_INT:1;\r
+            unsigned long REMABORT_INT:1;\r
+            unsigned long PERR_INT:1;\r
+            unsigned long SIGSERR_INT:1;\r
+            unsigned long RESERR_INT:1;\r
+            unsigned long :6;\r
+            unsigned long PCIAHB_WIN1_INT:1;\r
+            unsigned long PCIAHB_WIN2_INT:1;\r
+            unsigned long :2;\r
+            unsigned long USBH_INTA:1;\r
+            unsigned long USBH_INTB:1;\r
+            unsigned long :1;\r
+            unsigned long USBH_PME:1;\r
+            unsigned long :12;\r
+        } BIT;\r
+    } PCI_INT_STATUS;\r
+    char           wk15[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MMODE_HTRANS:1;\r
+            unsigned long MMODE_BYTE_BURST:1;\r
+            unsigned long MMODE_WR_INCR:1;\r
+            unsigned long :4;\r
+            unsigned long MMODE_HBUSREQ:1;\r
+            unsigned long :9;\r
+            unsigned long SMODE_READY_CTR:1;\r
+            unsigned long :14;\r
+        } BIT;\r
+    } AHB_BUS_CTR;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long USBH_RST:1;\r
+            unsigned long PCICLK_MASK:1;\r
+            unsigned long :7;\r
+            unsigned long PCI_AHB_WIN2_EN:1;\r
+            unsigned long PCI_AHB_WIN1_SIZE:2;\r
+            unsigned long :20;\r
+        } BIT;\r
+    } USBCTR;\r
+    char           wk16[8];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PCIREQ0:1;\r
+            unsigned long PCIREQ1:1;\r
+            unsigned long :10;\r
+            unsigned long PCIBP_MODE:1;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } PCI_ARBITER_CTR;\r
+    char           wk17[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long MinorRevisionID:16;\r
+            unsigned long MajorRevisionID:16;\r
+        } BIT;\r
+    } PCI_UNIT_REV;\r
+};\r
+\r
+struct st_vic\r
+{\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long IRQ1:1;\r
+            unsigned long IRQ2:1;\r
+            unsigned long IRQ3:1;\r
+            unsigned long IRQ4:1;\r
+            unsigned long IRQ5:1;\r
+            unsigned long IRQ6:1;\r
+            unsigned long IRQ7:1;\r
+            unsigned long IRQ8:1;\r
+            unsigned long IRQ9:1;\r
+            unsigned long IRQ10:1;\r
+            unsigned long IRQ11:1;\r
+            unsigned long IRQ12:1;\r
+            unsigned long IRQ13:1;\r
+            unsigned long IRQ14:1;\r
+            unsigned long IRQ15:1;\r
+            unsigned long IRQ16:1;\r
+            unsigned long IRQ17:1;\r
+            unsigned long IRQ18:1;\r
+            unsigned long IRQ19:1;\r
+            unsigned long IRQ20:1;\r
+            unsigned long IRQ21:1;\r
+            unsigned long IRQ22:1;\r
+            unsigned long IRQ23:1;\r
+            unsigned long IRQ24:1;\r
+            unsigned long IRQ25:1;\r
+            unsigned long IRQ26:1;\r
+            unsigned long IRQ27:1;\r
+            unsigned long IRQ28:1;\r
+            unsigned long IRQ29:1;\r
+            unsigned long IRQ30:1;\r
+            unsigned long IRQ31:1;\r
+        } BIT;\r
+    } IRQS0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQ32:1;\r
+            unsigned long IRQ33:1;\r
+            unsigned long IRQ34:1;\r
+            unsigned long IRQ35:1;\r
+            unsigned long IRQ36:1;\r
+            unsigned long IRQ37:1;\r
+            unsigned long IRQ38:1;\r
+            unsigned long IRQ39:1;\r
+            unsigned long IRQ40:1;\r
+            unsigned long IRQ41:1;\r
+            unsigned long IRQ42:1;\r
+            unsigned long IRQ43:1;\r
+            unsigned long IRQ44:1;\r
+            unsigned long IRQ45:1;\r
+            unsigned long IRQ46:1;\r
+            unsigned long IRQ47:1;\r
+            unsigned long IRQ48:1;\r
+            unsigned long IRQ49:1;\r
+            unsigned long IRQ50:1;\r
+            unsigned long IRQ51:1;\r
+            unsigned long IRQ52:1;\r
+            unsigned long IRQ53:1;\r
+            unsigned long IRQ54:1;\r
+            unsigned long IRQ55:1;\r
+            unsigned long IRQ56:1;\r
+            unsigned long IRQ57:1;\r
+            unsigned long IRQ58:1;\r
+            unsigned long IRQ59:1;\r
+            unsigned long IRQ60:1;\r
+            unsigned long IRQ61:1;\r
+            unsigned long IRQ62:1;\r
+            unsigned long IRQ63:1;\r
+        } BIT;\r
+    } IRQS1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQ64:1;\r
+            unsigned long IRQ65:1;\r
+            unsigned long IRQ66:1;\r
+            unsigned long IRQ67:1;\r
+            unsigned long IRQ68:1;\r
+            unsigned long IRQ69:1;\r
+            unsigned long IRQ70:1;\r
+            unsigned long IRQ71:1;\r
+            unsigned long IRQ72:1;\r
+            unsigned long IRQ73:1;\r
+            unsigned long IRQ74:1;\r
+            unsigned long IRQ75:1;\r
+            unsigned long IRQ76:1;\r
+            unsigned long IRQ77:1;\r
+            unsigned long IRQ78:1;\r
+            unsigned long IRQ79:1;\r
+            unsigned long IRQ80:1;\r
+            unsigned long IRQ81:1;\r
+            unsigned long IRQ82:1;\r
+            unsigned long IRQ83:1;\r
+            unsigned long IRQ84:1;\r
+            unsigned long IRQ85:1;\r
+            unsigned long IRQ86:1;\r
+            unsigned long IRQ87:1;\r
+            unsigned long IRQ88:1;\r
+            unsigned long IRQ89:1;\r
+            unsigned long IRQ90:1;\r
+            unsigned long IRQ91:1;\r
+            unsigned long IRQ92:1;\r
+            unsigned long IRQ93:1;\r
+            unsigned long IRQ94:1;\r
+            unsigned long IRQ95:1;\r
+        } BIT;\r
+    } IRQS2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQ96:1;\r
+            unsigned long IRQ97:1;\r
+            unsigned long IRQ98:1;\r
+            unsigned long IRQ99:1;\r
+            unsigned long IRQ100:1;\r
+            unsigned long IRQ101:1;\r
+            unsigned long IRQ102:1;\r
+            unsigned long IRQ103:1;\r
+            unsigned long IRQ104:1;\r
+            unsigned long IRQ105:1;\r
+            unsigned long IRQ106:1;\r
+            unsigned long IRQ107:1;\r
+            unsigned long IRQ108:1;\r
+            unsigned long IRQ109:1;\r
+            unsigned long IRQ110:1;\r
+            unsigned long IRQ111:1;\r
+            unsigned long IRQ112:1;\r
+            unsigned long IRQ113:1;\r
+            unsigned long IRQ114:1;\r
+            unsigned long IRQ115:1;\r
+            unsigned long IRQ116:1;\r
+            unsigned long IRQ117:1;\r
+            unsigned long IRQ118:1;\r
+            unsigned long IRQ119:1;\r
+            unsigned long IRQ120:1;\r
+            unsigned long IRQ121:1;\r
+            unsigned long IRQ122:1;\r
+            unsigned long IRQ123:1;\r
+            unsigned long IRQ124:1;\r
+            unsigned long IRQ125:1;\r
+            unsigned long IRQ126:1;\r
+            unsigned long IRQ127:1;\r
+        } BIT;\r
+    } IRQS3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQ128:1;\r
+            unsigned long IRQ129:1;\r
+            unsigned long IRQ130:1;\r
+            unsigned long IRQ131:1;\r
+            unsigned long IRQ132:1;\r
+            unsigned long IRQ133:1;\r
+            unsigned long IRQ134:1;\r
+            unsigned long IRQ135:1;\r
+            unsigned long IRQ136:1;\r
+            unsigned long IRQ137:1;\r
+            unsigned long IRQ138:1;\r
+            unsigned long IRQ139:1;\r
+            unsigned long IRQ140:1;\r
+            unsigned long IRQ141:1;\r
+            unsigned long IRQ142:1;\r
+            unsigned long IRQ143:1;\r
+            unsigned long IRQ144:1;\r
+            unsigned long IRQ145:1;\r
+            unsigned long IRQ146:1;\r
+            unsigned long IRQ147:1;\r
+            unsigned long IRQ148:1;\r
+            unsigned long IRQ149:1;\r
+            unsigned long IRQ150:1;\r
+            unsigned long IRQ151:1;\r
+            unsigned long IRQ152:1;\r
+            unsigned long IRQ153:1;\r
+            unsigned long IRQ154:1;\r
+            unsigned long IRQ155:1;\r
+            unsigned long IRQ156:1;\r
+            unsigned long IRQ157:1;\r
+            unsigned long IRQ158:1;\r
+            unsigned long IRQ159:1;\r
+        } BIT;\r
+    } IRQS4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQ160:1;\r
+            unsigned long IRQ161:1;\r
+            unsigned long IRQ162:1;\r
+            unsigned long IRQ163:1;\r
+            unsigned long IRQ164:1;\r
+            unsigned long IRQ165:1;\r
+            unsigned long IRQ166:1;\r
+            unsigned long IRQ167:1;\r
+            unsigned long IRQ168:1;\r
+            unsigned long IRQ169:1;\r
+            unsigned long IRQ170:1;\r
+            unsigned long IRQ171:1;\r
+            unsigned long IRQ172:1;\r
+            unsigned long IRQ173:1;\r
+            unsigned long IRQ174:1;\r
+            unsigned long IRQ175:1;\r
+            unsigned long IRQ176:1;\r
+            unsigned long IRQ177:1;\r
+            unsigned long IRQ178:1;\r
+            unsigned long IRQ179:1;\r
+            unsigned long IRQ180:1;\r
+            unsigned long IRQ181:1;\r
+            unsigned long IRQ182:1;\r
+            unsigned long IRQ183:1;\r
+            unsigned long IRQ184:1;\r
+            unsigned long IRQ185:1;\r
+            unsigned long IRQ186:1;\r
+            unsigned long IRQ187:1;\r
+            unsigned long IRQ188:1;\r
+            unsigned long IRQ189:1;\r
+            unsigned long IRQ190:1;\r
+            unsigned long IRQ191:1;\r
+        } BIT;\r
+    } IRQS5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQ192:1;\r
+            unsigned long IRQ193:1;\r
+            unsigned long IRQ194:1;\r
+            unsigned long IRQ195:1;\r
+            unsigned long IRQ196:1;\r
+            unsigned long IRQ197:1;\r
+            unsigned long IRQ198:1;\r
+            unsigned long IRQ199:1;\r
+            unsigned long IRQ200:1;\r
+            unsigned long IRQ201:1;\r
+            unsigned long IRQ202:1;\r
+            unsigned long IRQ203:1;\r
+            unsigned long IRQ204:1;\r
+            unsigned long IRQ205:1;\r
+            unsigned long IRQ206:1;\r
+            unsigned long IRQ207:1;\r
+            unsigned long IRQ208:1;\r
+            unsigned long IRQ209:1;\r
+            unsigned long IRQ210:1;\r
+            unsigned long IRQ211:1;\r
+            unsigned long IRQ212:1;\r
+            unsigned long IRQ213:1;\r
+            unsigned long IRQ214:1;\r
+            unsigned long IRQ215:1;\r
+            unsigned long IRQ216:1;\r
+            unsigned long IRQ217:1;\r
+            unsigned long IRQ218:1;\r
+            unsigned long IRQ219:1;\r
+            unsigned long IRQ220:1;\r
+            unsigned long IRQ221:1;\r
+            unsigned long IRQ222:1;\r
+            unsigned long IRQ223:1;\r
+        } BIT;\r
+    } IRQS6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQ224:1;\r
+            unsigned long IRQ225:1;\r
+            unsigned long IRQ226:1;\r
+            unsigned long IRQ227:1;\r
+            unsigned long IRQ228:1;\r
+            unsigned long IRQ229:1;\r
+            unsigned long IRQ230:1;\r
+            unsigned long IRQ231:1;\r
+            unsigned long IRQ232:1;\r
+            unsigned long IRQ233:1;\r
+            unsigned long IRQ234:1;\r
+            unsigned long IRQ235:1;\r
+            unsigned long IRQ236:1;\r
+            unsigned long IRQ237:1;\r
+            unsigned long IRQ238:1;\r
+            unsigned long IRQ239:1;\r
+            unsigned long IRQ240:1;\r
+            unsigned long IRQ241:1;\r
+            unsigned long IRQ242:1;\r
+            unsigned long IRQ243:1;\r
+            unsigned long IRQ244:1;\r
+            unsigned long IRQ245:1;\r
+            unsigned long IRQ246:1;\r
+            unsigned long IRQ247:1;\r
+            unsigned long IRQ248:1;\r
+            unsigned long IRQ249:1;\r
+            unsigned long IRQ250:1;\r
+            unsigned long IRQ251:1;\r
+            unsigned long IRQ252:1;\r
+            unsigned long IRQ253:1;\r
+            unsigned long IRQ254:1;\r
+            unsigned long IRQ255:1;\r
+        } BIT;\r
+    } IRQS7;\r
+    char           wk0[32];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long RAI1:1;\r
+            unsigned long RAI2:1;\r
+            unsigned long RAI3:1;\r
+            unsigned long RAI4:1;\r
+            unsigned long RAI5:1;\r
+            unsigned long RAI6:1;\r
+            unsigned long RAI7:1;\r
+            unsigned long RAI8:1;\r
+            unsigned long RAI9:1;\r
+            unsigned long RAI10:1;\r
+            unsigned long RAI11:1;\r
+            unsigned long RAI12:1;\r
+            unsigned long RAI13:1;\r
+            unsigned long RAI14:1;\r
+            unsigned long RAI15:1;\r
+            unsigned long RAI16:1;\r
+            unsigned long RAI17:1;\r
+            unsigned long RAI18:1;\r
+            unsigned long RAI19:1;\r
+            unsigned long RAI20:1;\r
+            unsigned long RAI21:1;\r
+            unsigned long RAI22:1;\r
+            unsigned long RAI23:1;\r
+            unsigned long RAI24:1;\r
+            unsigned long RAI25:1;\r
+            unsigned long RAI26:1;\r
+            unsigned long RAI27:1;\r
+            unsigned long RAI28:1;\r
+            unsigned long RAI29:1;\r
+            unsigned long RAI30:1;\r
+            unsigned long RAI31:1;\r
+        } BIT;\r
+    } RAIS0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RAI32:1;\r
+            unsigned long RAI33:1;\r
+            unsigned long RAI34:1;\r
+            unsigned long RAI35:1;\r
+            unsigned long RAI36:1;\r
+            unsigned long RAI37:1;\r
+            unsigned long RAI38:1;\r
+            unsigned long RAI39:1;\r
+            unsigned long RAI40:1;\r
+            unsigned long RAI41:1;\r
+            unsigned long RAI42:1;\r
+            unsigned long RAI43:1;\r
+            unsigned long RAI44:1;\r
+            unsigned long RAI45:1;\r
+            unsigned long RAI46:1;\r
+            unsigned long RAI47:1;\r
+            unsigned long RAI48:1;\r
+            unsigned long RAI49:1;\r
+            unsigned long RAI50:1;\r
+            unsigned long RAI51:1;\r
+            unsigned long RAI52:1;\r
+            unsigned long RAI53:1;\r
+            unsigned long RAI54:1;\r
+            unsigned long RAI55:1;\r
+            unsigned long RAI56:1;\r
+            unsigned long RAI57:1;\r
+            unsigned long RAI58:1;\r
+            unsigned long RAI59:1;\r
+            unsigned long RAI60:1;\r
+            unsigned long RAI61:1;\r
+            unsigned long RAI62:1;\r
+            unsigned long RAI63:1;\r
+        } BIT;\r
+    } RAIS1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RAI64:1;\r
+            unsigned long RAI65:1;\r
+            unsigned long RAI66:1;\r
+            unsigned long RAI67:1;\r
+            unsigned long RAI68:1;\r
+            unsigned long RAI69:1;\r
+            unsigned long RAI70:1;\r
+            unsigned long RAI71:1;\r
+            unsigned long RAI72:1;\r
+            unsigned long RAI73:1;\r
+            unsigned long RAI74:1;\r
+            unsigned long RAI75:1;\r
+            unsigned long RAI76:1;\r
+            unsigned long RAI77:1;\r
+            unsigned long RAI78:1;\r
+            unsigned long RAI79:1;\r
+            unsigned long RAI80:1;\r
+            unsigned long RAI81:1;\r
+            unsigned long RAI82:1;\r
+            unsigned long RAI83:1;\r
+            unsigned long RAI84:1;\r
+            unsigned long RAI85:1;\r
+            unsigned long RAI86:1;\r
+            unsigned long RAI87:1;\r
+            unsigned long RAI88:1;\r
+            unsigned long RAI89:1;\r
+            unsigned long RAI90:1;\r
+            unsigned long RAI91:1;\r
+            unsigned long RAI92:1;\r
+            unsigned long RAI93:1;\r
+            unsigned long RAI94:1;\r
+            unsigned long RAI95:1;\r
+        } BIT;\r
+    } RAIS2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RAI96:1;\r
+            unsigned long RAI97:1;\r
+            unsigned long RAI98:1;\r
+            unsigned long RAI99:1;\r
+            unsigned long RAI100:1;\r
+            unsigned long RAI101:1;\r
+            unsigned long RAI102:1;\r
+            unsigned long RAI103:1;\r
+            unsigned long RAI104:1;\r
+            unsigned long RAI105:1;\r
+            unsigned long RAI106:1;\r
+            unsigned long RAI107:1;\r
+            unsigned long RAI108:1;\r
+            unsigned long RAI109:1;\r
+            unsigned long RAI110:1;\r
+            unsigned long RAI111:1;\r
+            unsigned long RAI112:1;\r
+            unsigned long RAI113:1;\r
+            unsigned long RAI114:1;\r
+            unsigned long RAI115:1;\r
+            unsigned long RAI116:1;\r
+            unsigned long RAI117:1;\r
+            unsigned long RAI118:1;\r
+            unsigned long RAI119:1;\r
+            unsigned long RAI120:1;\r
+            unsigned long RAI121:1;\r
+            unsigned long RAI122:1;\r
+            unsigned long RAI123:1;\r
+            unsigned long RAI124:1;\r
+            unsigned long RAI125:1;\r
+            unsigned long RAI126:1;\r
+            unsigned long RAI127:1;\r
+        } BIT;\r
+    } RAIS3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RAI128:1;\r
+            unsigned long RAI129:1;\r
+            unsigned long RAI130:1;\r
+            unsigned long RAI131:1;\r
+            unsigned long RAI132:1;\r
+            unsigned long RAI133:1;\r
+            unsigned long RAI134:1;\r
+            unsigned long RAI135:1;\r
+            unsigned long RAI136:1;\r
+            unsigned long RAI137:1;\r
+            unsigned long RAI138:1;\r
+            unsigned long RAI139:1;\r
+            unsigned long RAI140:1;\r
+            unsigned long RAI141:1;\r
+            unsigned long RAI142:1;\r
+            unsigned long RAI143:1;\r
+            unsigned long RAI144:1;\r
+            unsigned long RAI145:1;\r
+            unsigned long RAI146:1;\r
+            unsigned long RAI147:1;\r
+            unsigned long RAI148:1;\r
+            unsigned long RAI149:1;\r
+            unsigned long RAI150:1;\r
+            unsigned long RAI151:1;\r
+            unsigned long RAI152:1;\r
+            unsigned long RAI153:1;\r
+            unsigned long RAI154:1;\r
+            unsigned long RAI155:1;\r
+            unsigned long RAI156:1;\r
+            unsigned long RAI157:1;\r
+            unsigned long RAI158:1;\r
+            unsigned long RAI159:1;\r
+        } BIT;\r
+    } RAIS4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RAI160:1;\r
+            unsigned long RAI161:1;\r
+            unsigned long RAI162:1;\r
+            unsigned long RAI163:1;\r
+            unsigned long RAI164:1;\r
+            unsigned long RAI165:1;\r
+            unsigned long RAI166:1;\r
+            unsigned long RAI167:1;\r
+            unsigned long RAI168:1;\r
+            unsigned long RAI169:1;\r
+            unsigned long RAI170:1;\r
+            unsigned long RAI171:1;\r
+            unsigned long RAI172:1;\r
+            unsigned long RAI173:1;\r
+            unsigned long RAI174:1;\r
+            unsigned long RAI175:1;\r
+            unsigned long RAI176:1;\r
+            unsigned long RAI177:1;\r
+            unsigned long RAI178:1;\r
+            unsigned long RAI179:1;\r
+            unsigned long RAI180:1;\r
+            unsigned long RAI181:1;\r
+            unsigned long RAI182:1;\r
+            unsigned long RAI183:1;\r
+            unsigned long RAI184:1;\r
+            unsigned long RAI185:1;\r
+            unsigned long RAI186:1;\r
+            unsigned long RAI187:1;\r
+            unsigned long RAI188:1;\r
+            unsigned long RAI189:1;\r
+            unsigned long RAI190:1;\r
+            unsigned long RAI191:1;\r
+        } BIT;\r
+    } RAIS5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RAI192:1;\r
+            unsigned long RAI193:1;\r
+            unsigned long RAI194:1;\r
+            unsigned long RAI195:1;\r
+            unsigned long RAI196:1;\r
+            unsigned long RAI197:1;\r
+            unsigned long RAI198:1;\r
+            unsigned long RAI199:1;\r
+            unsigned long RAI200:1;\r
+            unsigned long RAI201:1;\r
+            unsigned long RAI202:1;\r
+            unsigned long RAI203:1;\r
+            unsigned long RAI204:1;\r
+            unsigned long RAI205:1;\r
+            unsigned long RAI206:1;\r
+            unsigned long RAI207:1;\r
+            unsigned long RAI208:1;\r
+            unsigned long RAI209:1;\r
+            unsigned long RAI210:1;\r
+            unsigned long RAI211:1;\r
+            unsigned long RAI212:1;\r
+            unsigned long RAI213:1;\r
+            unsigned long RAI214:1;\r
+            unsigned long RAI215:1;\r
+            unsigned long RAI216:1;\r
+            unsigned long RAI217:1;\r
+            unsigned long RAI218:1;\r
+            unsigned long RAI219:1;\r
+            unsigned long RAI220:1;\r
+            unsigned long RAI221:1;\r
+            unsigned long RAI222:1;\r
+            unsigned long RAI223:1;\r
+        } BIT;\r
+    } RAIS6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RAI224:1;\r
+            unsigned long RAI225:1;\r
+            unsigned long RAI226:1;\r
+            unsigned long RAI227:1;\r
+            unsigned long RAI228:1;\r
+            unsigned long RAI229:1;\r
+            unsigned long RAI230:1;\r
+            unsigned long RAI231:1;\r
+            unsigned long RAI232:1;\r
+            unsigned long RAI233:1;\r
+            unsigned long RAI234:1;\r
+            unsigned long RAI235:1;\r
+            unsigned long RAI236:1;\r
+            unsigned long RAI237:1;\r
+            unsigned long RAI238:1;\r
+            unsigned long RAI239:1;\r
+            unsigned long RAI240:1;\r
+            unsigned long RAI241:1;\r
+            unsigned long RAI242:1;\r
+            unsigned long RAI243:1;\r
+            unsigned long RAI244:1;\r
+            unsigned long RAI245:1;\r
+            unsigned long RAI246:1;\r
+            unsigned long RAI247:1;\r
+            unsigned long RAI248:1;\r
+            unsigned long RAI249:1;\r
+            unsigned long RAI250:1;\r
+            unsigned long RAI251:1;\r
+            unsigned long RAI252:1;\r
+            unsigned long RAI253:1;\r
+            unsigned long RAI254:1;\r
+            unsigned long RAI255:1;\r
+        } BIT;\r
+    } RAIS7;\r
+    char           wk1[32];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long IEN1:1;\r
+            unsigned long IEN2:1;\r
+            unsigned long IEN3:1;\r
+            unsigned long IEN4:1;\r
+            unsigned long IEN5:1;\r
+            unsigned long IEN6:1;\r
+            unsigned long IEN7:1;\r
+            unsigned long IEN8:1;\r
+            unsigned long IEN9:1;\r
+            unsigned long IEN10:1;\r
+            unsigned long IEN11:1;\r
+            unsigned long IEN12:1;\r
+            unsigned long IEN13:1;\r
+            unsigned long IEN14:1;\r
+            unsigned long IEN15:1;\r
+            unsigned long IEN16:1;\r
+            unsigned long IEN17:1;\r
+            unsigned long IEN18:1;\r
+            unsigned long IEN19:1;\r
+            unsigned long IEN20:1;\r
+            unsigned long IEN21:1;\r
+            unsigned long IEN22:1;\r
+            unsigned long IEN23:1;\r
+            unsigned long IEN24:1;\r
+            unsigned long IEN25:1;\r
+            unsigned long IEN26:1;\r
+            unsigned long IEN27:1;\r
+            unsigned long IEN28:1;\r
+            unsigned long IEN29:1;\r
+            unsigned long IEN30:1;\r
+            unsigned long IEN31:1;\r
+        } BIT;\r
+    } IEN0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEN32:1;\r
+            unsigned long IEN33:1;\r
+            unsigned long IEN34:1;\r
+            unsigned long IEN35:1;\r
+            unsigned long IEN36:1;\r
+            unsigned long IEN37:1;\r
+            unsigned long IEN38:1;\r
+            unsigned long IEN39:1;\r
+            unsigned long IEN40:1;\r
+            unsigned long IEN41:1;\r
+            unsigned long IEN42:1;\r
+            unsigned long IEN43:1;\r
+            unsigned long IEN44:1;\r
+            unsigned long IEN45:1;\r
+            unsigned long IEN46:1;\r
+            unsigned long IEN47:1;\r
+            unsigned long IEN48:1;\r
+            unsigned long IEN49:1;\r
+            unsigned long IEN50:1;\r
+            unsigned long IEN51:1;\r
+            unsigned long IEN52:1;\r
+            unsigned long IEN53:1;\r
+            unsigned long IEN54:1;\r
+            unsigned long IEN55:1;\r
+            unsigned long IEN56:1;\r
+            unsigned long IEN57:1;\r
+            unsigned long IEN58:1;\r
+            unsigned long IEN59:1;\r
+            unsigned long IEN60:1;\r
+            unsigned long IEN61:1;\r
+            unsigned long IEN62:1;\r
+            unsigned long IEN63:1;\r
+        } BIT;\r
+    } IEN1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEN64:1;\r
+            unsigned long IEN65:1;\r
+            unsigned long IEN66:1;\r
+            unsigned long IEN67:1;\r
+            unsigned long IEN68:1;\r
+            unsigned long IEN69:1;\r
+            unsigned long IEN70:1;\r
+            unsigned long IEN71:1;\r
+            unsigned long IEN72:1;\r
+            unsigned long IEN73:1;\r
+            unsigned long IEN74:1;\r
+            unsigned long IEN75:1;\r
+            unsigned long IEN76:1;\r
+            unsigned long IEN77:1;\r
+            unsigned long IEN78:1;\r
+            unsigned long IEN79:1;\r
+            unsigned long IEN80:1;\r
+            unsigned long IEN81:1;\r
+            unsigned long IEN82:1;\r
+            unsigned long IEN83:1;\r
+            unsigned long IEN84:1;\r
+            unsigned long IEN85:1;\r
+            unsigned long IEN86:1;\r
+            unsigned long IEN87:1;\r
+            unsigned long IEN88:1;\r
+            unsigned long IEN89:1;\r
+            unsigned long IEN90:1;\r
+            unsigned long IEN91:1;\r
+            unsigned long IEN92:1;\r
+            unsigned long IEN93:1;\r
+            unsigned long IEN94:1;\r
+            unsigned long IEN95:1;\r
+        } BIT;\r
+    } IEN2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEN96:1;\r
+            unsigned long IEN97:1;\r
+            unsigned long IEN98:1;\r
+            unsigned long IEN99:1;\r
+            unsigned long IEN100:1;\r
+            unsigned long IEN101:1;\r
+            unsigned long IEN102:1;\r
+            unsigned long IEN103:1;\r
+            unsigned long IEN104:1;\r
+            unsigned long IEN105:1;\r
+            unsigned long IEN106:1;\r
+            unsigned long IEN107:1;\r
+            unsigned long IEN108:1;\r
+            unsigned long IEN109:1;\r
+            unsigned long IEN110:1;\r
+            unsigned long IEN111:1;\r
+            unsigned long IEN112:1;\r
+            unsigned long IEN113:1;\r
+            unsigned long IEN114:1;\r
+            unsigned long IEN115:1;\r
+            unsigned long IEN116:1;\r
+            unsigned long IEN117:1;\r
+            unsigned long IEN118:1;\r
+            unsigned long IEN119:1;\r
+            unsigned long IEN120:1;\r
+            unsigned long IEN121:1;\r
+            unsigned long IEN122:1;\r
+            unsigned long IEN123:1;\r
+            unsigned long IEN124:1;\r
+            unsigned long IEN125:1;\r
+            unsigned long IEN126:1;\r
+            unsigned long IEN127:1;\r
+        } BIT;\r
+    } IEN3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEN128:1;\r
+            unsigned long IEN129:1;\r
+            unsigned long IEN130:1;\r
+            unsigned long IEN131:1;\r
+            unsigned long IEN132:1;\r
+            unsigned long IEN133:1;\r
+            unsigned long IEN134:1;\r
+            unsigned long IEN135:1;\r
+            unsigned long IEN136:1;\r
+            unsigned long IEN137:1;\r
+            unsigned long IEN138:1;\r
+            unsigned long IEN139:1;\r
+            unsigned long IEN140:1;\r
+            unsigned long IEN141:1;\r
+            unsigned long IEN142:1;\r
+            unsigned long IEN143:1;\r
+            unsigned long IEN144:1;\r
+            unsigned long IEN145:1;\r
+            unsigned long IEN146:1;\r
+            unsigned long IEN147:1;\r
+            unsigned long IEN148:1;\r
+            unsigned long IEN149:1;\r
+            unsigned long IEN150:1;\r
+            unsigned long IEN151:1;\r
+            unsigned long IEN152:1;\r
+            unsigned long IEN153:1;\r
+            unsigned long IEN154:1;\r
+            unsigned long IEN155:1;\r
+            unsigned long IEN156:1;\r
+            unsigned long IEN157:1;\r
+            unsigned long IEN158:1;\r
+            unsigned long IEN159:1;\r
+        } BIT;\r
+    } IEN4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEN160:1;\r
+            unsigned long IEN161:1;\r
+            unsigned long IEN162:1;\r
+            unsigned long IEN163:1;\r
+            unsigned long IEN164:1;\r
+            unsigned long IEN165:1;\r
+            unsigned long IEN166:1;\r
+            unsigned long IEN167:1;\r
+            unsigned long IEN168:1;\r
+            unsigned long IEN169:1;\r
+            unsigned long IEN170:1;\r
+            unsigned long IEN171:1;\r
+            unsigned long IEN172:1;\r
+            unsigned long IEN173:1;\r
+            unsigned long IEN174:1;\r
+            unsigned long IEN175:1;\r
+            unsigned long IEN176:1;\r
+            unsigned long IEN177:1;\r
+            unsigned long IEN178:1;\r
+            unsigned long IEN179:1;\r
+            unsigned long IEN180:1;\r
+            unsigned long IEN181:1;\r
+            unsigned long IEN182:1;\r
+            unsigned long IEN183:1;\r
+            unsigned long IEN184:1;\r
+            unsigned long IEN185:1;\r
+            unsigned long IEN186:1;\r
+            unsigned long IEN187:1;\r
+            unsigned long IEN188:1;\r
+            unsigned long IEN189:1;\r
+            unsigned long IEN190:1;\r
+            unsigned long IEN191:1;\r
+        } BIT;\r
+    } IEN5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEN192:1;\r
+            unsigned long IEN193:1;\r
+            unsigned long IEN194:1;\r
+            unsigned long IEN195:1;\r
+            unsigned long IEN196:1;\r
+            unsigned long IEN197:1;\r
+            unsigned long IEN198:1;\r
+            unsigned long IEN199:1;\r
+            unsigned long IEN200:1;\r
+            unsigned long IEN201:1;\r
+            unsigned long IEN202:1;\r
+            unsigned long IEN203:1;\r
+            unsigned long IEN204:1;\r
+            unsigned long IEN205:1;\r
+            unsigned long IEN206:1;\r
+            unsigned long IEN207:1;\r
+            unsigned long IEN208:1;\r
+            unsigned long IEN209:1;\r
+            unsigned long IEN210:1;\r
+            unsigned long IEN211:1;\r
+            unsigned long IEN212:1;\r
+            unsigned long IEN213:1;\r
+            unsigned long IEN214:1;\r
+            unsigned long IEN215:1;\r
+            unsigned long IEN216:1;\r
+            unsigned long IEN217:1;\r
+            unsigned long IEN218:1;\r
+            unsigned long IEN219:1;\r
+            unsigned long IEN220:1;\r
+            unsigned long IEN221:1;\r
+            unsigned long IEN222:1;\r
+            unsigned long IEN223:1;\r
+        } BIT;\r
+    } IEN6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEN224:1;\r
+            unsigned long IEN225:1;\r
+            unsigned long IEN226:1;\r
+            unsigned long IEN227:1;\r
+            unsigned long IEN228:1;\r
+            unsigned long IEN229:1;\r
+            unsigned long IEN230:1;\r
+            unsigned long IEN231:1;\r
+            unsigned long IEN232:1;\r
+            unsigned long IEN233:1;\r
+            unsigned long IEN234:1;\r
+            unsigned long IEN235:1;\r
+            unsigned long IEN236:1;\r
+            unsigned long IEN237:1;\r
+            unsigned long IEN238:1;\r
+            unsigned long IEN239:1;\r
+            unsigned long IEN240:1;\r
+            unsigned long IEN241:1;\r
+            unsigned long IEN242:1;\r
+            unsigned long IEN243:1;\r
+            unsigned long IEN244:1;\r
+            unsigned long IEN245:1;\r
+            unsigned long IEN246:1;\r
+            unsigned long IEN247:1;\r
+            unsigned long IEN248:1;\r
+            unsigned long IEN249:1;\r
+            unsigned long IEN250:1;\r
+            unsigned long IEN251:1;\r
+            unsigned long IEN252:1;\r
+            unsigned long IEN253:1;\r
+            unsigned long IEN254:1;\r
+            unsigned long IEN255:1;\r
+        } BIT;\r
+    } IEN7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long IEC1:1;\r
+            unsigned long IEC2:1;\r
+            unsigned long IEC3:1;\r
+            unsigned long IEC4:1;\r
+            unsigned long IEC5:1;\r
+            unsigned long IEC6:1;\r
+            unsigned long IEC7:1;\r
+            unsigned long IEC8:1;\r
+            unsigned long IEC9:1;\r
+            unsigned long IEC10:1;\r
+            unsigned long IEC11:1;\r
+            unsigned long IEC12:1;\r
+            unsigned long IEC13:1;\r
+            unsigned long IEC14:1;\r
+            unsigned long IEC15:1;\r
+            unsigned long IEC16:1;\r
+            unsigned long IEC17:1;\r
+            unsigned long IEC18:1;\r
+            unsigned long IEC19:1;\r
+            unsigned long IEC20:1;\r
+            unsigned long IEC21:1;\r
+            unsigned long IEC22:1;\r
+            unsigned long IEC23:1;\r
+            unsigned long IEC24:1;\r
+            unsigned long IEC25:1;\r
+            unsigned long IEC26:1;\r
+            unsigned long IEC27:1;\r
+            unsigned long IEC28:1;\r
+            unsigned long IEC29:1;\r
+            unsigned long IEC30:1;\r
+            unsigned long IEC31:1;\r
+        } BIT;\r
+    } IEC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEC32:1;\r
+            unsigned long IEC33:1;\r
+            unsigned long IEC34:1;\r
+            unsigned long IEC35:1;\r
+            unsigned long IEC36:1;\r
+            unsigned long IEC37:1;\r
+            unsigned long IEC38:1;\r
+            unsigned long IEC39:1;\r
+            unsigned long IEC40:1;\r
+            unsigned long IEC41:1;\r
+            unsigned long IEC42:1;\r
+            unsigned long IEC43:1;\r
+            unsigned long IEC44:1;\r
+            unsigned long IEC45:1;\r
+            unsigned long IEC46:1;\r
+            unsigned long IEC47:1;\r
+            unsigned long IEC48:1;\r
+            unsigned long IEC49:1;\r
+            unsigned long IEC50:1;\r
+            unsigned long IEC51:1;\r
+            unsigned long IEC52:1;\r
+            unsigned long IEC53:1;\r
+            unsigned long IEC54:1;\r
+            unsigned long IEC55:1;\r
+            unsigned long IEC56:1;\r
+            unsigned long IEC57:1;\r
+            unsigned long IEC58:1;\r
+            unsigned long IEC59:1;\r
+            unsigned long IEC60:1;\r
+            unsigned long IEC61:1;\r
+            unsigned long IEC62:1;\r
+            unsigned long IEC63:1;\r
+        } BIT;\r
+    } IEC1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEC64:1;\r
+            unsigned long IEC65:1;\r
+            unsigned long IEC66:1;\r
+            unsigned long IEC67:1;\r
+            unsigned long IEC68:1;\r
+            unsigned long IEC69:1;\r
+            unsigned long IEC70:1;\r
+            unsigned long IEC71:1;\r
+            unsigned long IEC72:1;\r
+            unsigned long IEC73:1;\r
+            unsigned long IEC74:1;\r
+            unsigned long IEC75:1;\r
+            unsigned long IEC76:1;\r
+            unsigned long IEC77:1;\r
+            unsigned long IEC78:1;\r
+            unsigned long IEC79:1;\r
+            unsigned long IEC80:1;\r
+            unsigned long IEC81:1;\r
+            unsigned long IEC82:1;\r
+            unsigned long IEC83:1;\r
+            unsigned long IEC84:1;\r
+            unsigned long IEC85:1;\r
+            unsigned long IEC86:1;\r
+            unsigned long IEC87:1;\r
+            unsigned long IEC88:1;\r
+            unsigned long IEC89:1;\r
+            unsigned long IEC90:1;\r
+            unsigned long IEC91:1;\r
+            unsigned long IEC92:1;\r
+            unsigned long IEC93:1;\r
+            unsigned long IEC94:1;\r
+            unsigned long IEC95:1;\r
+        } BIT;\r
+    } IEC2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEC96:1;\r
+            unsigned long IEC97:1;\r
+            unsigned long IEC98:1;\r
+            unsigned long IEC99:1;\r
+            unsigned long IEC100:1;\r
+            unsigned long IEC101:1;\r
+            unsigned long IEC102:1;\r
+            unsigned long IEC103:1;\r
+            unsigned long IEC104:1;\r
+            unsigned long IEC105:1;\r
+            unsigned long IEC106:1;\r
+            unsigned long IEC107:1;\r
+            unsigned long IEC108:1;\r
+            unsigned long IEC109:1;\r
+            unsigned long IEC110:1;\r
+            unsigned long IEC111:1;\r
+            unsigned long IEC112:1;\r
+            unsigned long IEC113:1;\r
+            unsigned long IEC114:1;\r
+            unsigned long IEC115:1;\r
+            unsigned long IEC116:1;\r
+            unsigned long IEC117:1;\r
+            unsigned long IEC118:1;\r
+            unsigned long IEC119:1;\r
+            unsigned long IEC120:1;\r
+            unsigned long IEC121:1;\r
+            unsigned long IEC122:1;\r
+            unsigned long IEC123:1;\r
+            unsigned long IEC124:1;\r
+            unsigned long IEC125:1;\r
+            unsigned long IEC126:1;\r
+            unsigned long IEC127:1;\r
+        } BIT;\r
+    } IEC3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEC128:1;\r
+            unsigned long IEC129:1;\r
+            unsigned long IEC130:1;\r
+            unsigned long IEC131:1;\r
+            unsigned long IEC132:1;\r
+            unsigned long IEC133:1;\r
+            unsigned long IEC134:1;\r
+            unsigned long IEC135:1;\r
+            unsigned long IEC136:1;\r
+            unsigned long IEC137:1;\r
+            unsigned long IEC138:1;\r
+            unsigned long IEC139:1;\r
+            unsigned long IEC140:1;\r
+            unsigned long IEC141:1;\r
+            unsigned long IEC142:1;\r
+            unsigned long IEC143:1;\r
+            unsigned long IEC144:1;\r
+            unsigned long IEC145:1;\r
+            unsigned long IEC146:1;\r
+            unsigned long IEC147:1;\r
+            unsigned long IEC148:1;\r
+            unsigned long IEC149:1;\r
+            unsigned long IEC150:1;\r
+            unsigned long IEC151:1;\r
+            unsigned long IEC152:1;\r
+            unsigned long IEC153:1;\r
+            unsigned long IEC154:1;\r
+            unsigned long IEC155:1;\r
+            unsigned long IEC156:1;\r
+            unsigned long IEC157:1;\r
+            unsigned long IEC158:1;\r
+            unsigned long IEC159:1;\r
+        } BIT;\r
+    } IEC4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEC160:1;\r
+            unsigned long IEC161:1;\r
+            unsigned long IEC162:1;\r
+            unsigned long IEC163:1;\r
+            unsigned long IEC164:1;\r
+            unsigned long IEC165:1;\r
+            unsigned long IEC166:1;\r
+            unsigned long IEC167:1;\r
+            unsigned long IEC168:1;\r
+            unsigned long IEC169:1;\r
+            unsigned long IEC170:1;\r
+            unsigned long IEC171:1;\r
+            unsigned long IEC172:1;\r
+            unsigned long IEC173:1;\r
+            unsigned long IEC174:1;\r
+            unsigned long IEC175:1;\r
+            unsigned long IEC176:1;\r
+            unsigned long IEC177:1;\r
+            unsigned long IEC178:1;\r
+            unsigned long IEC179:1;\r
+            unsigned long IEC180:1;\r
+            unsigned long IEC181:1;\r
+            unsigned long IEC182:1;\r
+            unsigned long IEC183:1;\r
+            unsigned long IEC184:1;\r
+            unsigned long IEC185:1;\r
+            unsigned long IEC186:1;\r
+            unsigned long IEC187:1;\r
+            unsigned long IEC188:1;\r
+            unsigned long IEC189:1;\r
+            unsigned long IEC190:1;\r
+            unsigned long IEC191:1;\r
+        } BIT;\r
+    } IEC5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEC192:1;\r
+            unsigned long IEC193:1;\r
+            unsigned long IEC194:1;\r
+            unsigned long IEC195:1;\r
+            unsigned long IEC196:1;\r
+            unsigned long IEC197:1;\r
+            unsigned long IEC198:1;\r
+            unsigned long IEC199:1;\r
+            unsigned long IEC200:1;\r
+            unsigned long IEC201:1;\r
+            unsigned long IEC202:1;\r
+            unsigned long IEC203:1;\r
+            unsigned long IEC204:1;\r
+            unsigned long IEC205:1;\r
+            unsigned long IEC206:1;\r
+            unsigned long IEC207:1;\r
+            unsigned long IEC208:1;\r
+            unsigned long IEC209:1;\r
+            unsigned long IEC210:1;\r
+            unsigned long IEC211:1;\r
+            unsigned long IEC212:1;\r
+            unsigned long IEC213:1;\r
+            unsigned long IEC214:1;\r
+            unsigned long IEC215:1;\r
+            unsigned long IEC216:1;\r
+            unsigned long IEC217:1;\r
+            unsigned long IEC218:1;\r
+            unsigned long IEC219:1;\r
+            unsigned long IEC220:1;\r
+            unsigned long IEC221:1;\r
+            unsigned long IEC222:1;\r
+            unsigned long IEC223:1;\r
+        } BIT;\r
+    } IEC6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEC224:1;\r
+            unsigned long IEC225:1;\r
+            unsigned long IEC226:1;\r
+            unsigned long IEC227:1;\r
+            unsigned long IEC228:1;\r
+            unsigned long IEC229:1;\r
+            unsigned long IEC230:1;\r
+            unsigned long IEC231:1;\r
+            unsigned long IEC232:1;\r
+            unsigned long IEC233:1;\r
+            unsigned long IEC234:1;\r
+            unsigned long IEC235:1;\r
+            unsigned long IEC236:1;\r
+            unsigned long IEC237:1;\r
+            unsigned long IEC238:1;\r
+            unsigned long IEC239:1;\r
+            unsigned long IEC240:1;\r
+            unsigned long IEC241:1;\r
+            unsigned long IEC242:1;\r
+            unsigned long IEC243:1;\r
+            unsigned long IEC244:1;\r
+            unsigned long IEC245:1;\r
+            unsigned long IEC246:1;\r
+            unsigned long IEC247:1;\r
+            unsigned long IEC248:1;\r
+            unsigned long IEC249:1;\r
+            unsigned long IEC250:1;\r
+            unsigned long IEC251:1;\r
+            unsigned long IEC252:1;\r
+            unsigned long IEC253:1;\r
+            unsigned long IEC254:1;\r
+            unsigned long IEC255:1;\r
+        } BIT;\r
+    } IEC7;\r
+    char           wk2[64];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long PLS1:1;\r
+            unsigned long PLS2:1;\r
+            unsigned long PLS3:1;\r
+            unsigned long PLS4:1;\r
+            unsigned long PLS5:1;\r
+            unsigned long PLS6:1;\r
+            unsigned long PLS7:1;\r
+            unsigned long PLS8:1;\r
+            unsigned long PLS9:1;\r
+            unsigned long PLS10:1;\r
+            unsigned long PLS11:1;\r
+            unsigned long PLS12:1;\r
+            unsigned long PLS13:1;\r
+            unsigned long PLS14:1;\r
+            unsigned long PLS15:1;\r
+            unsigned long PLS16:1;\r
+            unsigned long PLS17:1;\r
+            unsigned long PLS18:1;\r
+            unsigned long PLS19:1;\r
+            unsigned long PLS20:1;\r
+            unsigned long PLS21:1;\r
+            unsigned long PLS22:1;\r
+            unsigned long PLS23:1;\r
+            unsigned long PLS24:1;\r
+            unsigned long PLS25:1;\r
+            unsigned long PLS26:1;\r
+            unsigned long PLS27:1;\r
+            unsigned long PLS28:1;\r
+            unsigned long PLS29:1;\r
+            unsigned long PLS30:1;\r
+            unsigned long PLS31:1;\r
+        } BIT;\r
+    } PLS0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PLS32:1;\r
+            unsigned long PLS33:1;\r
+            unsigned long PLS34:1;\r
+            unsigned long PLS35:1;\r
+            unsigned long PLS36:1;\r
+            unsigned long PLS37:1;\r
+            unsigned long PLS38:1;\r
+            unsigned long PLS39:1;\r
+            unsigned long PLS40:1;\r
+            unsigned long PLS41:1;\r
+            unsigned long PLS42:1;\r
+            unsigned long PLS43:1;\r
+            unsigned long PLS44:1;\r
+            unsigned long PLS45:1;\r
+            unsigned long PLS46:1;\r
+            unsigned long PLS47:1;\r
+            unsigned long PLS48:1;\r
+            unsigned long PLS49:1;\r
+            unsigned long PLS50:1;\r
+            unsigned long PLS51:1;\r
+            unsigned long PLS52:1;\r
+            unsigned long PLS53:1;\r
+            unsigned long PLS54:1;\r
+            unsigned long PLS55:1;\r
+            unsigned long PLS56:1;\r
+            unsigned long PLS57:1;\r
+            unsigned long PLS58:1;\r
+            unsigned long PLS59:1;\r
+            unsigned long PLS60:1;\r
+            unsigned long PLS61:1;\r
+            unsigned long PLS62:1;\r
+            unsigned long PLS63:1;\r
+        } BIT;\r
+    } PLS1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PLS64:1;\r
+            unsigned long PLS65:1;\r
+            unsigned long PLS66:1;\r
+            unsigned long PLS67:1;\r
+            unsigned long PLS68:1;\r
+            unsigned long PLS69:1;\r
+            unsigned long PLS70:1;\r
+            unsigned long PLS71:1;\r
+            unsigned long PLS72:1;\r
+            unsigned long PLS73:1;\r
+            unsigned long PLS74:1;\r
+            unsigned long PLS75:1;\r
+            unsigned long PLS76:1;\r
+            unsigned long PLS77:1;\r
+            unsigned long PLS78:1;\r
+            unsigned long PLS79:1;\r
+            unsigned long PLS80:1;\r
+            unsigned long PLS81:1;\r
+            unsigned long PLS82:1;\r
+            unsigned long PLS83:1;\r
+            unsigned long PLS84:1;\r
+            unsigned long PLS85:1;\r
+            unsigned long PLS86:1;\r
+            unsigned long PLS87:1;\r
+            unsigned long PLS88:1;\r
+            unsigned long PLS89:1;\r
+            unsigned long PLS90:1;\r
+            unsigned long PLS91:1;\r
+            unsigned long PLS92:1;\r
+            unsigned long PLS93:1;\r
+            unsigned long PLS94:1;\r
+            unsigned long PLS95:1;\r
+        } BIT;\r
+    } PLS2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PLS96:1;\r
+            unsigned long PLS97:1;\r
+            unsigned long PLS98:1;\r
+            unsigned long PLS99:1;\r
+            unsigned long PLS100:1;\r
+            unsigned long PLS101:1;\r
+            unsigned long PLS102:1;\r
+            unsigned long PLS103:1;\r
+            unsigned long PLS104:1;\r
+            unsigned long PLS105:1;\r
+            unsigned long PLS106:1;\r
+            unsigned long PLS107:1;\r
+            unsigned long PLS108:1;\r
+            unsigned long PLS109:1;\r
+            unsigned long PLS110:1;\r
+            unsigned long PLS111:1;\r
+            unsigned long PLS112:1;\r
+            unsigned long PLS113:1;\r
+            unsigned long PLS114:1;\r
+            unsigned long PLS115:1;\r
+            unsigned long PLS116:1;\r
+            unsigned long PLS117:1;\r
+            unsigned long PLS118:1;\r
+            unsigned long PLS119:1;\r
+            unsigned long PLS120:1;\r
+            unsigned long PLS121:1;\r
+            unsigned long PLS122:1;\r
+            unsigned long PLS123:1;\r
+            unsigned long PLS124:1;\r
+            unsigned long PLS125:1;\r
+            unsigned long PLS126:1;\r
+            unsigned long PLS127:1;\r
+        } BIT;\r
+    } PLS3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PLS128:1;\r
+            unsigned long PLS129:1;\r
+            unsigned long PLS130:1;\r
+            unsigned long PLS131:1;\r
+            unsigned long PLS132:1;\r
+            unsigned long PLS133:1;\r
+            unsigned long PLS134:1;\r
+            unsigned long PLS135:1;\r
+            unsigned long PLS136:1;\r
+            unsigned long PLS137:1;\r
+            unsigned long PLS138:1;\r
+            unsigned long PLS139:1;\r
+            unsigned long PLS140:1;\r
+            unsigned long PLS141:1;\r
+            unsigned long PLS142:1;\r
+            unsigned long PLS143:1;\r
+            unsigned long PLS144:1;\r
+            unsigned long PLS145:1;\r
+            unsigned long PLS146:1;\r
+            unsigned long PLS147:1;\r
+            unsigned long PLS148:1;\r
+            unsigned long PLS149:1;\r
+            unsigned long PLS150:1;\r
+            unsigned long PLS151:1;\r
+            unsigned long PLS152:1;\r
+            unsigned long PLS153:1;\r
+            unsigned long PLS154:1;\r
+            unsigned long PLS155:1;\r
+            unsigned long PLS156:1;\r
+            unsigned long PLS157:1;\r
+            unsigned long PLS158:1;\r
+            unsigned long PLS159:1;\r
+        } BIT;\r
+    } PLS4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PLS160:1;\r
+            unsigned long PLS161:1;\r
+            unsigned long PLS162:1;\r
+            unsigned long PLS163:1;\r
+            unsigned long PLS164:1;\r
+            unsigned long PLS165:1;\r
+            unsigned long PLS166:1;\r
+            unsigned long PLS167:1;\r
+            unsigned long PLS168:1;\r
+            unsigned long PLS169:1;\r
+            unsigned long PLS170:1;\r
+            unsigned long PLS171:1;\r
+            unsigned long PLS172:1;\r
+            unsigned long PLS173:1;\r
+            unsigned long PLS174:1;\r
+            unsigned long PLS175:1;\r
+            unsigned long PLS176:1;\r
+            unsigned long PLS177:1;\r
+            unsigned long PLS178:1;\r
+            unsigned long PLS179:1;\r
+            unsigned long PLS180:1;\r
+            unsigned long PLS181:1;\r
+            unsigned long PLS182:1;\r
+            unsigned long PLS183:1;\r
+            unsigned long PLS184:1;\r
+            unsigned long PLS185:1;\r
+            unsigned long PLS186:1;\r
+            unsigned long PLS187:1;\r
+            unsigned long PLS188:1;\r
+            unsigned long PLS189:1;\r
+            unsigned long PLS190:1;\r
+            unsigned long PLS191:1;\r
+        } BIT;\r
+    } PLS5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PLS192:1;\r
+            unsigned long PLS193:1;\r
+            unsigned long PLS194:1;\r
+            unsigned long PLS195:1;\r
+            unsigned long PLS196:1;\r
+            unsigned long PLS197:1;\r
+            unsigned long PLS198:1;\r
+            unsigned long PLS199:1;\r
+            unsigned long PLS200:1;\r
+            unsigned long PLS201:1;\r
+            unsigned long PLS202:1;\r
+            unsigned long PLS203:1;\r
+            unsigned long PLS204:1;\r
+            unsigned long PLS205:1;\r
+            unsigned long PLS206:1;\r
+            unsigned long PLS207:1;\r
+            unsigned long PLS208:1;\r
+            unsigned long PLS209:1;\r
+            unsigned long PLS210:1;\r
+            unsigned long PLS211:1;\r
+            unsigned long PLS212:1;\r
+            unsigned long PLS213:1;\r
+            unsigned long PLS214:1;\r
+            unsigned long PLS215:1;\r
+            unsigned long PLS216:1;\r
+            unsigned long PLS217:1;\r
+            unsigned long PLS218:1;\r
+            unsigned long PLS219:1;\r
+            unsigned long PLS220:1;\r
+            unsigned long PLS221:1;\r
+            unsigned long PLS222:1;\r
+            unsigned long PLS223:1;\r
+        } BIT;\r
+    } PLS6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PLS224:1;\r
+            unsigned long PLS225:1;\r
+            unsigned long PLS226:1;\r
+            unsigned long PLS227:1;\r
+            unsigned long PLS228:1;\r
+            unsigned long PLS229:1;\r
+            unsigned long PLS230:1;\r
+            unsigned long PLS231:1;\r
+            unsigned long PLS232:1;\r
+            unsigned long PLS233:1;\r
+            unsigned long PLS234:1;\r
+            unsigned long PLS235:1;\r
+            unsigned long PLS236:1;\r
+            unsigned long PLS237:1;\r
+            unsigned long PLS238:1;\r
+            unsigned long PLS239:1;\r
+            unsigned long PLS240:1;\r
+            unsigned long PLS241:1;\r
+            unsigned long PLS242:1;\r
+            unsigned long PLS243:1;\r
+            unsigned long PLS244:1;\r
+            unsigned long PLS245:1;\r
+            unsigned long PLS246:1;\r
+            unsigned long PLS247:1;\r
+            unsigned long PLS248:1;\r
+            unsigned long PLS249:1;\r
+            unsigned long PLS250:1;\r
+            unsigned long PLS251:1;\r
+            unsigned long PLS252:1;\r
+            unsigned long PLS253:1;\r
+            unsigned long PLS254:1;\r
+            unsigned long PLS255:1;\r
+        } BIT;\r
+    } PLS7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long PIC1:1;\r
+            unsigned long PIC2:1;\r
+            unsigned long PIC3:1;\r
+            unsigned long PIC4:1;\r
+            unsigned long PIC5:1;\r
+            unsigned long PIC6:1;\r
+            unsigned long PIC7:1;\r
+            unsigned long PIC8:1;\r
+            unsigned long PIC9:1;\r
+            unsigned long PIC10:1;\r
+            unsigned long PIC11:1;\r
+            unsigned long PIC12:1;\r
+            unsigned long PIC13:1;\r
+            unsigned long PIC14:1;\r
+            unsigned long PIC15:1;\r
+            unsigned long PIC16:1;\r
+            unsigned long PIC17:1;\r
+            unsigned long PIC18:1;\r
+            unsigned long PIC19:1;\r
+            unsigned long PIC20:1;\r
+            unsigned long PIC21:1;\r
+            unsigned long PIC22:1;\r
+            unsigned long PIC23:1;\r
+            unsigned long PIC24:1;\r
+            unsigned long PIC25:1;\r
+            unsigned long PIC26:1;\r
+            unsigned long PIC27:1;\r
+            unsigned long PIC28:1;\r
+            unsigned long PIC29:1;\r
+            unsigned long PIC30:1;\r
+            unsigned long PIC31:1;\r
+        } BIT;\r
+    } PIC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PIC32:1;\r
+            unsigned long PIC33:1;\r
+            unsigned long PIC34:1;\r
+            unsigned long PIC35:1;\r
+            unsigned long PIC36:1;\r
+            unsigned long PIC37:1;\r
+            unsigned long PIC38:1;\r
+            unsigned long PIC39:1;\r
+            unsigned long PIC40:1;\r
+            unsigned long PIC41:1;\r
+            unsigned long PIC42:1;\r
+            unsigned long PIC43:1;\r
+            unsigned long PIC44:1;\r
+            unsigned long PIC45:1;\r
+            unsigned long PIC46:1;\r
+            unsigned long PIC47:1;\r
+            unsigned long PIC48:1;\r
+            unsigned long PIC49:1;\r
+            unsigned long PIC50:1;\r
+            unsigned long PIC51:1;\r
+            unsigned long PIC52:1;\r
+            unsigned long PIC53:1;\r
+            unsigned long PIC54:1;\r
+            unsigned long PIC55:1;\r
+            unsigned long PIC56:1;\r
+            unsigned long PIC57:1;\r
+            unsigned long PIC58:1;\r
+            unsigned long PIC59:1;\r
+            unsigned long PIC60:1;\r
+            unsigned long PIC61:1;\r
+            unsigned long PIC62:1;\r
+            unsigned long PIC63:1;\r
+        } BIT;\r
+    } PIC1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PIC64:1;\r
+            unsigned long PIC65:1;\r
+            unsigned long PIC66:1;\r
+            unsigned long PIC67:1;\r
+            unsigned long PIC68:1;\r
+            unsigned long PIC69:1;\r
+            unsigned long PIC70:1;\r
+            unsigned long PIC71:1;\r
+            unsigned long PIC72:1;\r
+            unsigned long PIC73:1;\r
+            unsigned long PIC74:1;\r
+            unsigned long PIC75:1;\r
+            unsigned long PIC76:1;\r
+            unsigned long PIC77:1;\r
+            unsigned long PIC78:1;\r
+            unsigned long PIC79:1;\r
+            unsigned long PIC80:1;\r
+            unsigned long PIC81:1;\r
+            unsigned long PIC82:1;\r
+            unsigned long PIC83:1;\r
+            unsigned long PIC84:1;\r
+            unsigned long PIC85:1;\r
+            unsigned long PIC86:1;\r
+            unsigned long PIC87:1;\r
+            unsigned long PIC88:1;\r
+            unsigned long PIC89:1;\r
+            unsigned long PIC90:1;\r
+            unsigned long PIC91:1;\r
+            unsigned long PIC92:1;\r
+            unsigned long PIC93:1;\r
+            unsigned long PIC94:1;\r
+            unsigned long PIC95:1;\r
+        } BIT;\r
+    } PIC2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PIC96:1;\r
+            unsigned long PIC97:1;\r
+            unsigned long PIC98:1;\r
+            unsigned long PIC99:1;\r
+            unsigned long PIC100:1;\r
+            unsigned long PIC101:1;\r
+            unsigned long PIC102:1;\r
+            unsigned long PIC103:1;\r
+            unsigned long PIC104:1;\r
+            unsigned long PIC105:1;\r
+            unsigned long PIC106:1;\r
+            unsigned long PIC107:1;\r
+            unsigned long PIC108:1;\r
+            unsigned long PIC109:1;\r
+            unsigned long PIC110:1;\r
+            unsigned long PIC111:1;\r
+            unsigned long PIC112:1;\r
+            unsigned long PIC113:1;\r
+            unsigned long PIC114:1;\r
+            unsigned long PIC115:1;\r
+            unsigned long PIC116:1;\r
+            unsigned long PIC117:1;\r
+            unsigned long PIC118:1;\r
+            unsigned long PIC119:1;\r
+            unsigned long PIC120:1;\r
+            unsigned long PIC121:1;\r
+            unsigned long PIC122:1;\r
+            unsigned long PIC123:1;\r
+            unsigned long PIC124:1;\r
+            unsigned long PIC125:1;\r
+            unsigned long PIC126:1;\r
+            unsigned long PIC127:1;\r
+        } BIT;\r
+    } PIC3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PIC128:1;\r
+            unsigned long PIC129:1;\r
+            unsigned long PIC130:1;\r
+            unsigned long PIC131:1;\r
+            unsigned long PIC132:1;\r
+            unsigned long PIC133:1;\r
+            unsigned long PIC134:1;\r
+            unsigned long PIC135:1;\r
+            unsigned long PIC136:1;\r
+            unsigned long PIC137:1;\r
+            unsigned long PIC138:1;\r
+            unsigned long PIC139:1;\r
+            unsigned long PIC140:1;\r
+            unsigned long PIC141:1;\r
+            unsigned long PIC142:1;\r
+            unsigned long PIC143:1;\r
+            unsigned long PIC144:1;\r
+            unsigned long PIC145:1;\r
+            unsigned long PIC146:1;\r
+            unsigned long PIC147:1;\r
+            unsigned long PIC148:1;\r
+            unsigned long PIC149:1;\r
+            unsigned long PIC150:1;\r
+            unsigned long PIC151:1;\r
+            unsigned long PIC152:1;\r
+            unsigned long PIC153:1;\r
+            unsigned long PIC154:1;\r
+            unsigned long PIC155:1;\r
+            unsigned long PIC156:1;\r
+            unsigned long PIC157:1;\r
+            unsigned long PIC158:1;\r
+            unsigned long PIC159:1;\r
+        } BIT;\r
+    } PIC4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PIC160:1;\r
+            unsigned long PIC161:1;\r
+            unsigned long PIC162:1;\r
+            unsigned long PIC163:1;\r
+            unsigned long PIC164:1;\r
+            unsigned long PIC165:1;\r
+            unsigned long PIC166:1;\r
+            unsigned long PIC167:1;\r
+            unsigned long PIC168:1;\r
+            unsigned long PIC169:1;\r
+            unsigned long PIC170:1;\r
+            unsigned long PIC171:1;\r
+            unsigned long PIC172:1;\r
+            unsigned long PIC173:1;\r
+            unsigned long PIC174:1;\r
+            unsigned long PIC175:1;\r
+            unsigned long PIC176:1;\r
+            unsigned long PIC177:1;\r
+            unsigned long PIC178:1;\r
+            unsigned long PIC179:1;\r
+            unsigned long PIC180:1;\r
+            unsigned long PIC181:1;\r
+            unsigned long PIC182:1;\r
+            unsigned long PIC183:1;\r
+            unsigned long PIC184:1;\r
+            unsigned long PIC185:1;\r
+            unsigned long PIC186:1;\r
+            unsigned long PIC187:1;\r
+            unsigned long PIC188:1;\r
+            unsigned long PIC189:1;\r
+            unsigned long PIC190:1;\r
+            unsigned long PIC191:1;\r
+        } BIT;\r
+    } PIC5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PIC192:1;\r
+            unsigned long PIC193:1;\r
+            unsigned long PIC194:1;\r
+            unsigned long PIC195:1;\r
+            unsigned long PIC196:1;\r
+            unsigned long PIC197:1;\r
+            unsigned long PIC198:1;\r
+            unsigned long PIC199:1;\r
+            unsigned long PIC200:1;\r
+            unsigned long PIC201:1;\r
+            unsigned long PIC202:1;\r
+            unsigned long PIC203:1;\r
+            unsigned long PIC204:1;\r
+            unsigned long PIC205:1;\r
+            unsigned long PIC206:1;\r
+            unsigned long PIC207:1;\r
+            unsigned long PIC208:1;\r
+            unsigned long PIC209:1;\r
+            unsigned long PIC210:1;\r
+            unsigned long PIC211:1;\r
+            unsigned long PIC212:1;\r
+            unsigned long PIC213:1;\r
+            unsigned long PIC214:1;\r
+            unsigned long PIC215:1;\r
+            unsigned long PIC216:1;\r
+            unsigned long PIC217:1;\r
+            unsigned long PIC218:1;\r
+            unsigned long PIC219:1;\r
+            unsigned long PIC220:1;\r
+            unsigned long PIC221:1;\r
+            unsigned long PIC222:1;\r
+            unsigned long PIC223:1;\r
+        } BIT;\r
+    } PIC6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PIC224:1;\r
+            unsigned long PIC225:1;\r
+            unsigned long PIC226:1;\r
+            unsigned long PIC227:1;\r
+            unsigned long PIC228:1;\r
+            unsigned long PIC229:1;\r
+            unsigned long PIC230:1;\r
+            unsigned long PIC231:1;\r
+            unsigned long PIC232:1;\r
+            unsigned long PIC233:1;\r
+            unsigned long PIC234:1;\r
+            unsigned long PIC235:1;\r
+            unsigned long PIC236:1;\r
+            unsigned long PIC237:1;\r
+            unsigned long PIC238:1;\r
+            unsigned long PIC239:1;\r
+            unsigned long PIC240:1;\r
+            unsigned long PIC241:1;\r
+            unsigned long PIC242:1;\r
+            unsigned long PIC243:1;\r
+            unsigned long PIC244:1;\r
+            unsigned long PIC245:1;\r
+            unsigned long PIC246:1;\r
+            unsigned long PIC247:1;\r
+            unsigned long PIC248:1;\r
+            unsigned long PIC249:1;\r
+            unsigned long PIC250:1;\r
+            unsigned long PIC251:1;\r
+            unsigned long PIC252:1;\r
+            unsigned long PIC253:1;\r
+            unsigned long PIC254:1;\r
+            unsigned long PIC255:1;\r
+        } BIT;\r
+    } PIC7;\r
+    char           wk3[128];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRLM0:1;\r
+            unsigned long PRLM1:1;\r
+            unsigned long PRLM2:1;\r
+            unsigned long PRLM3:1;\r
+            unsigned long PRLM4:1;\r
+            unsigned long PRLM5:1;\r
+            unsigned long PRLM6:1;\r
+            unsigned long PRLM7:1;\r
+            unsigned long PRLM8:1;\r
+            unsigned long PRLM9:1;\r
+            unsigned long PRLM10:1;\r
+            unsigned long PRLM11:1;\r
+            unsigned long PRLM12:1;\r
+            unsigned long PRLM13:1;\r
+            unsigned long PRLM14:1;\r
+            unsigned long PRLM15:1;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } PRLM0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRLC0:1;\r
+            unsigned long PRLC1:1;\r
+            unsigned long PRLC2:1;\r
+            unsigned long PRLC3:1;\r
+            unsigned long PRLC4:1;\r
+            unsigned long PRLC5:1;\r
+            unsigned long PRLC6:1;\r
+            unsigned long PRLC7:1;\r
+            unsigned long PRLC8:1;\r
+            unsigned long PRLC9:1;\r
+            unsigned long PRLC10:1;\r
+            unsigned long PRLC11:1;\r
+            unsigned long PRLC12:1;\r
+            unsigned long PRLC13:1;\r
+            unsigned long PRLC14:1;\r
+            unsigned long PRLC15:1;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } PRLC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long UE:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } UEN0;\r
+    char           wk4[52];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+    } HVA0;\r
+    char           wk5[12];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long ISS1:1;\r
+            unsigned long ISS2:1;\r
+            unsigned long ISS3:1;\r
+            unsigned long ISS4:1;\r
+            unsigned long ISS5:1;\r
+            unsigned long ISS6:1;\r
+            unsigned long ISS7:1;\r
+            unsigned long ISS8:1;\r
+            unsigned long ISS9:1;\r
+            unsigned long ISS10:1;\r
+            unsigned long ISS11:1;\r
+            unsigned long ISS12:1;\r
+            unsigned long ISS13:1;\r
+            unsigned long ISS14:1;\r
+            unsigned long ISS15:1;\r
+            unsigned long ISS16:1;\r
+            unsigned long ISS17:1;\r
+            unsigned long ISS18:1;\r
+            unsigned long ISS19:1;\r
+            unsigned long ISS20:1;\r
+            unsigned long ISS21:1;\r
+            unsigned long ISS22:1;\r
+            unsigned long ISS23:1;\r
+            unsigned long ISS24:1;\r
+            unsigned long ISS25:1;\r
+            unsigned long ISS26:1;\r
+            unsigned long ISS27:1;\r
+            unsigned long ISS28:1;\r
+            unsigned long ISS29:1;\r
+            unsigned long ISS30:1;\r
+            unsigned long ISS31:1;\r
+        } BIT;\r
+    } ISS0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISS32:1;\r
+            unsigned long ISS33:1;\r
+            unsigned long ISS34:1;\r
+            unsigned long ISS35:1;\r
+            unsigned long ISS36:1;\r
+            unsigned long ISS37:1;\r
+            unsigned long ISS38:1;\r
+            unsigned long ISS39:1;\r
+            unsigned long ISS40:1;\r
+            unsigned long ISS41:1;\r
+            unsigned long ISS42:1;\r
+            unsigned long ISS43:1;\r
+            unsigned long ISS44:1;\r
+            unsigned long ISS45:1;\r
+            unsigned long ISS46:1;\r
+            unsigned long ISS47:1;\r
+            unsigned long ISS48:1;\r
+            unsigned long ISS49:1;\r
+            unsigned long ISS50:1;\r
+            unsigned long ISS51:1;\r
+            unsigned long ISS52:1;\r
+            unsigned long ISS53:1;\r
+            unsigned long ISS54:1;\r
+            unsigned long ISS55:1;\r
+            unsigned long ISS56:1;\r
+            unsigned long ISS57:1;\r
+            unsigned long ISS58:1;\r
+            unsigned long ISS59:1;\r
+            unsigned long ISS60:1;\r
+            unsigned long ISS61:1;\r
+            unsigned long ISS62:1;\r
+            unsigned long ISS63:1;\r
+        } BIT;\r
+    } ISS1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISS64:1;\r
+            unsigned long ISS65:1;\r
+            unsigned long ISS66:1;\r
+            unsigned long ISS67:1;\r
+            unsigned long ISS68:1;\r
+            unsigned long ISS69:1;\r
+            unsigned long ISS70:1;\r
+            unsigned long ISS71:1;\r
+            unsigned long ISS72:1;\r
+            unsigned long ISS73:1;\r
+            unsigned long ISS74:1;\r
+            unsigned long ISS75:1;\r
+            unsigned long ISS76:1;\r
+            unsigned long ISS77:1;\r
+            unsigned long ISS78:1;\r
+            unsigned long ISS79:1;\r
+            unsigned long ISS80:1;\r
+            unsigned long ISS81:1;\r
+            unsigned long ISS82:1;\r
+            unsigned long ISS83:1;\r
+            unsigned long ISS84:1;\r
+            unsigned long ISS85:1;\r
+            unsigned long ISS86:1;\r
+            unsigned long ISS87:1;\r
+            unsigned long ISS88:1;\r
+            unsigned long ISS89:1;\r
+            unsigned long ISS90:1;\r
+            unsigned long ISS91:1;\r
+            unsigned long ISS92:1;\r
+            unsigned long ISS93:1;\r
+            unsigned long ISS94:1;\r
+            unsigned long ISS95:1;\r
+        } BIT;\r
+    } ISS2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISS96:1;\r
+            unsigned long ISS97:1;\r
+            unsigned long ISS98:1;\r
+            unsigned long ISS99:1;\r
+            unsigned long ISS100:1;\r
+            unsigned long ISS101:1;\r
+            unsigned long ISS102:1;\r
+            unsigned long ISS103:1;\r
+            unsigned long ISS104:1;\r
+            unsigned long ISS105:1;\r
+            unsigned long ISS106:1;\r
+            unsigned long ISS107:1;\r
+            unsigned long ISS108:1;\r
+            unsigned long ISS109:1;\r
+            unsigned long ISS110:1;\r
+            unsigned long ISS111:1;\r
+            unsigned long ISS112:1;\r
+            unsigned long ISS113:1;\r
+            unsigned long ISS114:1;\r
+            unsigned long ISS115:1;\r
+            unsigned long ISS116:1;\r
+            unsigned long ISS117:1;\r
+            unsigned long ISS118:1;\r
+            unsigned long ISS119:1;\r
+            unsigned long ISS120:1;\r
+            unsigned long ISS121:1;\r
+            unsigned long ISS122:1;\r
+            unsigned long ISS123:1;\r
+            unsigned long ISS124:1;\r
+            unsigned long ISS125:1;\r
+            unsigned long ISS126:1;\r
+            unsigned long ISS127:1;\r
+        } BIT;\r
+    } ISS3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISS128:1;\r
+            unsigned long ISS129:1;\r
+            unsigned long ISS130:1;\r
+            unsigned long ISS131:1;\r
+            unsigned long ISS132:1;\r
+            unsigned long ISS133:1;\r
+            unsigned long ISS134:1;\r
+            unsigned long ISS135:1;\r
+            unsigned long ISS136:1;\r
+            unsigned long ISS137:1;\r
+            unsigned long ISS138:1;\r
+            unsigned long ISS139:1;\r
+            unsigned long ISS140:1;\r
+            unsigned long ISS141:1;\r
+            unsigned long ISS142:1;\r
+            unsigned long ISS143:1;\r
+            unsigned long ISS144:1;\r
+            unsigned long ISS145:1;\r
+            unsigned long ISS146:1;\r
+            unsigned long ISS147:1;\r
+            unsigned long ISS148:1;\r
+            unsigned long ISS149:1;\r
+            unsigned long ISS150:1;\r
+            unsigned long ISS151:1;\r
+            unsigned long ISS152:1;\r
+            unsigned long ISS153:1;\r
+            unsigned long ISS154:1;\r
+            unsigned long ISS155:1;\r
+            unsigned long ISS156:1;\r
+            unsigned long ISS157:1;\r
+            unsigned long ISS158:1;\r
+            unsigned long ISS159:1;\r
+        } BIT;\r
+    } ISS4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISS160:1;\r
+            unsigned long ISS161:1;\r
+            unsigned long ISS162:1;\r
+            unsigned long ISS163:1;\r
+            unsigned long ISS164:1;\r
+            unsigned long ISS165:1;\r
+            unsigned long ISS166:1;\r
+            unsigned long ISS167:1;\r
+            unsigned long ISS168:1;\r
+            unsigned long ISS169:1;\r
+            unsigned long ISS170:1;\r
+            unsigned long ISS171:1;\r
+            unsigned long ISS172:1;\r
+            unsigned long ISS173:1;\r
+            unsigned long ISS174:1;\r
+            unsigned long ISS175:1;\r
+            unsigned long ISS176:1;\r
+            unsigned long ISS177:1;\r
+            unsigned long ISS178:1;\r
+            unsigned long ISS179:1;\r
+            unsigned long ISS180:1;\r
+            unsigned long ISS181:1;\r
+            unsigned long ISS182:1;\r
+            unsigned long ISS183:1;\r
+            unsigned long ISS184:1;\r
+            unsigned long ISS185:1;\r
+            unsigned long ISS186:1;\r
+            unsigned long ISS187:1;\r
+            unsigned long ISS188:1;\r
+            unsigned long ISS189:1;\r
+            unsigned long ISS190:1;\r
+            unsigned long ISS191:1;\r
+        } BIT;\r
+    } ISS5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISS192:1;\r
+            unsigned long ISS193:1;\r
+            unsigned long ISS194:1;\r
+            unsigned long ISS195:1;\r
+            unsigned long ISS196:1;\r
+            unsigned long ISS197:1;\r
+            unsigned long ISS198:1;\r
+            unsigned long ISS199:1;\r
+            unsigned long ISS200:1;\r
+            unsigned long ISS201:1;\r
+            unsigned long ISS202:1;\r
+            unsigned long ISS203:1;\r
+            unsigned long ISS204:1;\r
+            unsigned long ISS205:1;\r
+            unsigned long ISS206:1;\r
+            unsigned long ISS207:1;\r
+            unsigned long ISS208:1;\r
+            unsigned long ISS209:1;\r
+            unsigned long ISS210:1;\r
+            unsigned long ISS211:1;\r
+            unsigned long ISS212:1;\r
+            unsigned long ISS213:1;\r
+            unsigned long ISS214:1;\r
+            unsigned long ISS215:1;\r
+            unsigned long ISS216:1;\r
+            unsigned long ISS217:1;\r
+            unsigned long ISS218:1;\r
+            unsigned long ISS219:1;\r
+            unsigned long ISS220:1;\r
+            unsigned long ISS221:1;\r
+            unsigned long ISS222:1;\r
+            unsigned long ISS223:1;\r
+        } BIT;\r
+    } ISS6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISS224:1;\r
+            unsigned long ISS225:1;\r
+            unsigned long ISS226:1;\r
+            unsigned long ISS227:1;\r
+            unsigned long ISS228:1;\r
+            unsigned long ISS229:1;\r
+            unsigned long ISS230:1;\r
+            unsigned long ISS231:1;\r
+            unsigned long ISS232:1;\r
+            unsigned long ISS233:1;\r
+            unsigned long ISS234:1;\r
+            unsigned long ISS235:1;\r
+            unsigned long ISS236:1;\r
+            unsigned long ISS237:1;\r
+            unsigned long ISS238:1;\r
+            unsigned long ISS239:1;\r
+            unsigned long ISS240:1;\r
+            unsigned long ISS241:1;\r
+            unsigned long ISS242:1;\r
+            unsigned long ISS243:1;\r
+            unsigned long ISS244:1;\r
+            unsigned long ISS245:1;\r
+            unsigned long ISS246:1;\r
+            unsigned long ISS247:1;\r
+            unsigned long ISS248:1;\r
+            unsigned long ISS249:1;\r
+            unsigned long ISS250:1;\r
+            unsigned long ISS251:1;\r
+            unsigned long ISS252:1;\r
+            unsigned long ISS253:1;\r
+            unsigned long ISS254:1;\r
+            unsigned long ISS255:1;\r
+        } BIT;\r
+    } ISS7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long :1;\r
+            unsigned long ISC1:1;\r
+            unsigned long ISC2:1;\r
+            unsigned long ISC3:1;\r
+            unsigned long ISC4:1;\r
+            unsigned long ISC5:1;\r
+            unsigned long ISC6:1;\r
+            unsigned long ISC7:1;\r
+            unsigned long ISC8:1;\r
+            unsigned long ISC9:1;\r
+            unsigned long ISC10:1;\r
+            unsigned long ISC11:1;\r
+            unsigned long ISC12:1;\r
+            unsigned long ISC13:1;\r
+            unsigned long ISC14:1;\r
+            unsigned long ISC15:1;\r
+            unsigned long ISC16:1;\r
+            unsigned long ISC17:1;\r
+            unsigned long ISC18:1;\r
+            unsigned long ISC19:1;\r
+            unsigned long ISC20:1;\r
+            unsigned long ISC21:1;\r
+            unsigned long ISC22:1;\r
+            unsigned long ISC23:1;\r
+            unsigned long ISC24:1;\r
+            unsigned long ISC25:1;\r
+            unsigned long ISC26:1;\r
+            unsigned long ISC27:1;\r
+            unsigned long ISC28:1;\r
+            unsigned long ISC29:1;\r
+            unsigned long ISC30:1;\r
+            unsigned long ISC31:1;\r
+        } BIT;\r
+    } ISC0;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISC32:1;\r
+            unsigned long ISC33:1;\r
+            unsigned long ISC34:1;\r
+            unsigned long ISC35:1;\r
+            unsigned long ISC36:1;\r
+            unsigned long ISC37:1;\r
+            unsigned long ISC38:1;\r
+            unsigned long ISC39:1;\r
+            unsigned long ISC40:1;\r
+            unsigned long ISC41:1;\r
+            unsigned long ISC42:1;\r
+            unsigned long ISC43:1;\r
+            unsigned long ISC44:1;\r
+            unsigned long ISC45:1;\r
+            unsigned long ISC46:1;\r
+            unsigned long ISC47:1;\r
+            unsigned long ISC48:1;\r
+            unsigned long ISC49:1;\r
+            unsigned long ISC50:1;\r
+            unsigned long ISC51:1;\r
+            unsigned long ISC52:1;\r
+            unsigned long ISC53:1;\r
+            unsigned long ISC54:1;\r
+            unsigned long ISC55:1;\r
+            unsigned long ISC56:1;\r
+            unsigned long ISC57:1;\r
+            unsigned long ISC58:1;\r
+            unsigned long ISC59:1;\r
+            unsigned long ISC60:1;\r
+            unsigned long ISC61:1;\r
+            unsigned long ISC62:1;\r
+            unsigned long ISC63:1;\r
+        } BIT;\r
+    } ISC1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISC64:1;\r
+            unsigned long ISC65:1;\r
+            unsigned long ISC66:1;\r
+            unsigned long ISC67:1;\r
+            unsigned long ISC68:1;\r
+            unsigned long ISC69:1;\r
+            unsigned long ISC70:1;\r
+            unsigned long ISC71:1;\r
+            unsigned long ISC72:1;\r
+            unsigned long ISC73:1;\r
+            unsigned long ISC74:1;\r
+            unsigned long ISC75:1;\r
+            unsigned long ISC76:1;\r
+            unsigned long ISC77:1;\r
+            unsigned long ISC78:1;\r
+            unsigned long ISC79:1;\r
+            unsigned long ISC80:1;\r
+            unsigned long ISC81:1;\r
+            unsigned long ISC82:1;\r
+            unsigned long ISC83:1;\r
+            unsigned long ISC84:1;\r
+            unsigned long ISC85:1;\r
+            unsigned long ISC86:1;\r
+            unsigned long ISC87:1;\r
+            unsigned long ISC88:1;\r
+            unsigned long ISC89:1;\r
+            unsigned long ISC90:1;\r
+            unsigned long ISC91:1;\r
+            unsigned long ISC92:1;\r
+            unsigned long ISC93:1;\r
+            unsigned long ISC94:1;\r
+            unsigned long ISC95:1;\r
+        } BIT;\r
+    } ISC2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISC96:1;\r
+            unsigned long ISC97:1;\r
+            unsigned long ISC98:1;\r
+            unsigned long ISC99:1;\r
+            unsigned long ISC100:1;\r
+            unsigned long ISC101:1;\r
+            unsigned long ISC102:1;\r
+            unsigned long ISC103:1;\r
+            unsigned long ISC104:1;\r
+            unsigned long ISC105:1;\r
+            unsigned long ISC106:1;\r
+            unsigned long ISC107:1;\r
+            unsigned long ISC108:1;\r
+            unsigned long ISC109:1;\r
+            unsigned long ISC110:1;\r
+            unsigned long ISC111:1;\r
+            unsigned long ISC112:1;\r
+            unsigned long ISC113:1;\r
+            unsigned long ISC114:1;\r
+            unsigned long ISC115:1;\r
+            unsigned long ISC116:1;\r
+            unsigned long ISC117:1;\r
+            unsigned long ISC118:1;\r
+            unsigned long ISC119:1;\r
+            unsigned long ISC120:1;\r
+            unsigned long ISC121:1;\r
+            unsigned long ISC122:1;\r
+            unsigned long ISC123:1;\r
+            unsigned long ISC124:1;\r
+            unsigned long ISC125:1;\r
+            unsigned long ISC126:1;\r
+            unsigned long ISC127:1;\r
+        } BIT;\r
+    } ISC3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISC128:1;\r
+            unsigned long ISC129:1;\r
+            unsigned long ISC130:1;\r
+            unsigned long ISC131:1;\r
+            unsigned long ISC132:1;\r
+            unsigned long ISC133:1;\r
+            unsigned long ISC134:1;\r
+            unsigned long ISC135:1;\r
+            unsigned long ISC136:1;\r
+            unsigned long ISC137:1;\r
+            unsigned long ISC138:1;\r
+            unsigned long ISC139:1;\r
+            unsigned long ISC140:1;\r
+            unsigned long ISC141:1;\r
+            unsigned long ISC142:1;\r
+            unsigned long ISC143:1;\r
+            unsigned long ISC144:1;\r
+            unsigned long ISC145:1;\r
+            unsigned long ISC146:1;\r
+            unsigned long ISC147:1;\r
+            unsigned long ISC148:1;\r
+            unsigned long ISC149:1;\r
+            unsigned long ISC150:1;\r
+            unsigned long ISC151:1;\r
+            unsigned long ISC152:1;\r
+            unsigned long ISC153:1;\r
+            unsigned long ISC154:1;\r
+            unsigned long ISC155:1;\r
+            unsigned long ISC156:1;\r
+            unsigned long ISC157:1;\r
+            unsigned long ISC158:1;\r
+            unsigned long ISC159:1;\r
+        } BIT;\r
+    } ISC4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISC160:1;\r
+            unsigned long ISC161:1;\r
+            unsigned long ISC162:1;\r
+            unsigned long ISC163:1;\r
+            unsigned long ISC164:1;\r
+            unsigned long ISC165:1;\r
+            unsigned long ISC166:1;\r
+            unsigned long ISC167:1;\r
+            unsigned long ISC168:1;\r
+            unsigned long ISC169:1;\r
+            unsigned long ISC170:1;\r
+            unsigned long ISC171:1;\r
+            unsigned long ISC172:1;\r
+            unsigned long ISC173:1;\r
+            unsigned long ISC174:1;\r
+            unsigned long ISC175:1;\r
+            unsigned long ISC176:1;\r
+            unsigned long ISC177:1;\r
+            unsigned long ISC178:1;\r
+            unsigned long ISC179:1;\r
+            unsigned long ISC180:1;\r
+            unsigned long ISC181:1;\r
+            unsigned long ISC182:1;\r
+            unsigned long ISC183:1;\r
+            unsigned long ISC184:1;\r
+            unsigned long ISC185:1;\r
+            unsigned long ISC186:1;\r
+            unsigned long ISC187:1;\r
+            unsigned long ISC188:1;\r
+            unsigned long ISC189:1;\r
+            unsigned long ISC190:1;\r
+            unsigned long ISC191:1;\r
+        } BIT;\r
+    } ISC5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISC192:1;\r
+            unsigned long ISC193:1;\r
+            unsigned long ISC194:1;\r
+            unsigned long ISC195:1;\r
+            unsigned long ISC196:1;\r
+            unsigned long ISC197:1;\r
+            unsigned long ISC198:1;\r
+            unsigned long ISC199:1;\r
+            unsigned long ISC200:1;\r
+            unsigned long ISC201:1;\r
+            unsigned long ISC202:1;\r
+            unsigned long ISC203:1;\r
+            unsigned long ISC204:1;\r
+            unsigned long ISC205:1;\r
+            unsigned long ISC206:1;\r
+            unsigned long ISC207:1;\r
+            unsigned long ISC208:1;\r
+            unsigned long ISC209:1;\r
+            unsigned long ISC210:1;\r
+            unsigned long ISC211:1;\r
+            unsigned long ISC212:1;\r
+            unsigned long ISC213:1;\r
+            unsigned long ISC214:1;\r
+            unsigned long ISC215:1;\r
+            unsigned long ISC216:1;\r
+            unsigned long ISC217:1;\r
+            unsigned long ISC218:1;\r
+            unsigned long ISC219:1;\r
+            unsigned long ISC220:1;\r
+            unsigned long ISC221:1;\r
+            unsigned long ISC222:1;\r
+            unsigned long ISC223:1;\r
+        } BIT;\r
+    } ISC6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISC224:1;\r
+            unsigned long ISC225:1;\r
+            unsigned long ISC226:1;\r
+            unsigned long ISC227:1;\r
+            unsigned long ISC228:1;\r
+            unsigned long ISC229:1;\r
+            unsigned long ISC230:1;\r
+            unsigned long ISC231:1;\r
+            unsigned long ISC232:1;\r
+            unsigned long ISC233:1;\r
+            unsigned long ISC234:1;\r
+            unsigned long ISC235:1;\r
+            unsigned long ISC236:1;\r
+            unsigned long ISC237:1;\r
+            unsigned long ISC238:1;\r
+            unsigned long ISC239:1;\r
+            unsigned long ISC240:1;\r
+            unsigned long ISC241:1;\r
+            unsigned long ISC242:1;\r
+            unsigned long ISC243:1;\r
+            unsigned long ISC244:1;\r
+            unsigned long ISC245:1;\r
+            unsigned long ISC246:1;\r
+            unsigned long ISC247:1;\r
+            unsigned long ISC248:1;\r
+            unsigned long ISC249:1;\r
+            unsigned long ISC250:1;\r
+            unsigned long ISC251:1;\r
+            unsigned long ISC252:1;\r
+            unsigned long ISC253:1;\r
+            unsigned long ISC254:1;\r
+            unsigned long ISC255:1;\r
+        } BIT;\r
+    } ISC7;\r
+    char           wk6[436];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD1:32;\r
+        } BIT;\r
+    } VAD1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD2:32;\r
+        } BIT;\r
+    } VAD2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD3:32;\r
+        } BIT;\r
+    } VAD3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD4:32;\r
+        } BIT;\r
+    } VAD4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD5:32;\r
+        } BIT;\r
+    } VAD5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD6:32;\r
+        } BIT;\r
+    } VAD6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD7:32;\r
+        } BIT;\r
+    } VAD7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD8:32;\r
+        } BIT;\r
+    } VAD8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD9:32;\r
+        } BIT;\r
+    } VAD9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD10:32;\r
+        } BIT;\r
+    } VAD10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD11:32;\r
+        } BIT;\r
+    } VAD11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD12:32;\r
+        } BIT;\r
+    } VAD12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD13:32;\r
+        } BIT;\r
+    } VAD13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD14:32;\r
+        } BIT;\r
+    } VAD14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD15:32;\r
+        } BIT;\r
+    } VAD15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD16:32;\r
+        } BIT;\r
+    } VAD16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD17:32;\r
+        } BIT;\r
+    } VAD17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD18:32;\r
+        } BIT;\r
+    } VAD18;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD19:32;\r
+        } BIT;\r
+    } VAD19;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD20:32;\r
+        } BIT;\r
+    } VAD20;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD21:32;\r
+        } BIT;\r
+    } VAD21;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD22:32;\r
+        } BIT;\r
+    } VAD22;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD23:32;\r
+        } BIT;\r
+    } VAD23;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD24:32;\r
+        } BIT;\r
+    } VAD24;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD25:32;\r
+        } BIT;\r
+    } VAD25;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD26:32;\r
+        } BIT;\r
+    } VAD26;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD27:32;\r
+        } BIT;\r
+    } VAD27;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD28:32;\r
+        } BIT;\r
+    } VAD28;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD29:32;\r
+        } BIT;\r
+    } VAD29;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD30:32;\r
+        } BIT;\r
+    } VAD30;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD31:32;\r
+        } BIT;\r
+    } VAD31;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD32:32;\r
+        } BIT;\r
+    } VAD32;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD33:32;\r
+        } BIT;\r
+    } VAD33;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD34:32;\r
+        } BIT;\r
+    } VAD34;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD35:32;\r
+        } BIT;\r
+    } VAD35;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD36:32;\r
+        } BIT;\r
+    } VAD36;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD37:32;\r
+        } BIT;\r
+    } VAD37;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD38:32;\r
+        } BIT;\r
+    } VAD38;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD39:32;\r
+        } BIT;\r
+    } VAD39;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD40:32;\r
+        } BIT;\r
+    } VAD40;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD41:32;\r
+        } BIT;\r
+    } VAD41;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD42:32;\r
+        } BIT;\r
+    } VAD42;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD43:32;\r
+        } BIT;\r
+    } VAD43;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD44:32;\r
+        } BIT;\r
+    } VAD44;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD45:32;\r
+        } BIT;\r
+    } VAD45;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD46:32;\r
+        } BIT;\r
+    } VAD46;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD47:32;\r
+        } BIT;\r
+    } VAD47;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD48:32;\r
+        } BIT;\r
+    } VAD48;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD49:32;\r
+        } BIT;\r
+    } VAD49;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD50:32;\r
+        } BIT;\r
+    } VAD50;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD51:32;\r
+        } BIT;\r
+    } VAD51;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD52:32;\r
+        } BIT;\r
+    } VAD52;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD53:32;\r
+        } BIT;\r
+    } VAD53;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD54:32;\r
+        } BIT;\r
+    } VAD54;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD55:32;\r
+        } BIT;\r
+    } VAD55;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD56:32;\r
+        } BIT;\r
+    } VAD56;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD57:32;\r
+        } BIT;\r
+    } VAD57;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD58:32;\r
+        } BIT;\r
+    } VAD58;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD59:32;\r
+        } BIT;\r
+    } VAD59;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD60:32;\r
+        } BIT;\r
+    } VAD60;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD61:32;\r
+        } BIT;\r
+    } VAD61;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD62:32;\r
+        } BIT;\r
+    } VAD62;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD63:32;\r
+        } BIT;\r
+    } VAD63;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD64:32;\r
+        } BIT;\r
+    } VAD64;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD65:32;\r
+        } BIT;\r
+    } VAD65;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD66:32;\r
+        } BIT;\r
+    } VAD66;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD67:32;\r
+        } BIT;\r
+    } VAD67;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD68:32;\r
+        } BIT;\r
+    } VAD68;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD69:32;\r
+        } BIT;\r
+    } VAD69;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD70:32;\r
+        } BIT;\r
+    } VAD70;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD71:32;\r
+        } BIT;\r
+    } VAD71;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD72:32;\r
+        } BIT;\r
+    } VAD72;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD73:32;\r
+        } BIT;\r
+    } VAD73;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD74:32;\r
+        } BIT;\r
+    } VAD74;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD75:32;\r
+        } BIT;\r
+    } VAD75;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD76:32;\r
+        } BIT;\r
+    } VAD76;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD77:32;\r
+        } BIT;\r
+    } VAD77;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD78:32;\r
+        } BIT;\r
+    } VAD78;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD79:32;\r
+        } BIT;\r
+    } VAD79;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD80:32;\r
+        } BIT;\r
+    } VAD80;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD81:32;\r
+        } BIT;\r
+    } VAD81;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD82:32;\r
+        } BIT;\r
+    } VAD82;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD83:32;\r
+        } BIT;\r
+    } VAD83;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD84:32;\r
+        } BIT;\r
+    } VAD84;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD85:32;\r
+        } BIT;\r
+    } VAD85;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD86:32;\r
+        } BIT;\r
+    } VAD86;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD87:32;\r
+        } BIT;\r
+    } VAD87;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD88:32;\r
+        } BIT;\r
+    } VAD88;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD89:32;\r
+        } BIT;\r
+    } VAD89;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD90:32;\r
+        } BIT;\r
+    } VAD90;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD91:32;\r
+        } BIT;\r
+    } VAD91;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD92:32;\r
+        } BIT;\r
+    } VAD92;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD93:32;\r
+        } BIT;\r
+    } VAD93;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD94:32;\r
+        } BIT;\r
+    } VAD94;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD95:32;\r
+        } BIT;\r
+    } VAD95;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD96:32;\r
+        } BIT;\r
+    } VAD96;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD97:32;\r
+        } BIT;\r
+    } VAD97;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD98:32;\r
+        } BIT;\r
+    } VAD98;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD99:32;\r
+        } BIT;\r
+    } VAD99;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD100:32;\r
+        } BIT;\r
+    } VAD100;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD101:32;\r
+        } BIT;\r
+    } VAD101;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD102:32;\r
+        } BIT;\r
+    } VAD102;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD103:32;\r
+        } BIT;\r
+    } VAD103;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD104:32;\r
+        } BIT;\r
+    } VAD104;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD105:32;\r
+        } BIT;\r
+    } VAD105;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD106:32;\r
+        } BIT;\r
+    } VAD106;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD107:32;\r
+        } BIT;\r
+    } VAD107;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD108:32;\r
+        } BIT;\r
+    } VAD108;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD109:32;\r
+        } BIT;\r
+    } VAD109;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD110:32;\r
+        } BIT;\r
+    } VAD110;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD111:32;\r
+        } BIT;\r
+    } VAD111;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD112:32;\r
+        } BIT;\r
+    } VAD112;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD113:32;\r
+        } BIT;\r
+    } VAD113;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD114:32;\r
+        } BIT;\r
+    } VAD114;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD115:32;\r
+        } BIT;\r
+    } VAD115;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD116:32;\r
+        } BIT;\r
+    } VAD116;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD117:32;\r
+        } BIT;\r
+    } VAD117;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD118:32;\r
+        } BIT;\r
+    } VAD118;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD119:32;\r
+        } BIT;\r
+    } VAD119;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD120:32;\r
+        } BIT;\r
+    } VAD120;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD121:32;\r
+        } BIT;\r
+    } VAD121;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD122:32;\r
+        } BIT;\r
+    } VAD122;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD123:32;\r
+        } BIT;\r
+    } VAD123;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD124:32;\r
+        } BIT;\r
+    } VAD124;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD125:32;\r
+        } BIT;\r
+    } VAD125;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD126:32;\r
+        } BIT;\r
+    } VAD126;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD127:32;\r
+        } BIT;\r
+    } VAD127;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD128:32;\r
+        } BIT;\r
+    } VAD128;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD129:32;\r
+        } BIT;\r
+    } VAD129;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD130:32;\r
+        } BIT;\r
+    } VAD130;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD131:32;\r
+        } BIT;\r
+    } VAD131;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD132:32;\r
+        } BIT;\r
+    } VAD132;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD133:32;\r
+        } BIT;\r
+    } VAD133;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD134:32;\r
+        } BIT;\r
+    } VAD134;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD135:32;\r
+        } BIT;\r
+    } VAD135;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD136:32;\r
+        } BIT;\r
+    } VAD136;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD137:32;\r
+        } BIT;\r
+    } VAD137;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD138:32;\r
+        } BIT;\r
+    } VAD138;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD139:32;\r
+        } BIT;\r
+    } VAD139;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD140:32;\r
+        } BIT;\r
+    } VAD140;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD141:32;\r
+        } BIT;\r
+    } VAD141;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD142:32;\r
+        } BIT;\r
+    } VAD142;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD143:32;\r
+        } BIT;\r
+    } VAD143;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD144:32;\r
+        } BIT;\r
+    } VAD144;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD145:32;\r
+        } BIT;\r
+    } VAD145;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD146:32;\r
+        } BIT;\r
+    } VAD146;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD147:32;\r
+        } BIT;\r
+    } VAD147;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD148:32;\r
+        } BIT;\r
+    } VAD148;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD149:32;\r
+        } BIT;\r
+    } VAD149;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD150:32;\r
+        } BIT;\r
+    } VAD150;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD151:32;\r
+        } BIT;\r
+    } VAD151;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD152:32;\r
+        } BIT;\r
+    } VAD152;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD153:32;\r
+        } BIT;\r
+    } VAD153;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD154:32;\r
+        } BIT;\r
+    } VAD154;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD155:32;\r
+        } BIT;\r
+    } VAD155;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD156:32;\r
+        } BIT;\r
+    } VAD156;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD157:32;\r
+        } BIT;\r
+    } VAD157;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD158:32;\r
+        } BIT;\r
+    } VAD158;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD159:32;\r
+        } BIT;\r
+    } VAD159;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD160:32;\r
+        } BIT;\r
+    } VAD160;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD161:32;\r
+        } BIT;\r
+    } VAD161;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD162:32;\r
+        } BIT;\r
+    } VAD162;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD163:32;\r
+        } BIT;\r
+    } VAD163;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD164:32;\r
+        } BIT;\r
+    } VAD164;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD165:32;\r
+        } BIT;\r
+    } VAD165;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD166:32;\r
+        } BIT;\r
+    } VAD166;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD167:32;\r
+        } BIT;\r
+    } VAD167;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD168:32;\r
+        } BIT;\r
+    } VAD168;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD169:32;\r
+        } BIT;\r
+    } VAD169;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD170:32;\r
+        } BIT;\r
+    } VAD170;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD171:32;\r
+        } BIT;\r
+    } VAD171;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD172:32;\r
+        } BIT;\r
+    } VAD172;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD173:32;\r
+        } BIT;\r
+    } VAD173;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD174:32;\r
+        } BIT;\r
+    } VAD174;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD175:32;\r
+        } BIT;\r
+    } VAD175;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD176:32;\r
+        } BIT;\r
+    } VAD176;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD177:32;\r
+        } BIT;\r
+    } VAD177;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD178:32;\r
+        } BIT;\r
+    } VAD178;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD179:32;\r
+        } BIT;\r
+    } VAD179;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD180:32;\r
+        } BIT;\r
+    } VAD180;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD181:32;\r
+        } BIT;\r
+    } VAD181;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD182:32;\r
+        } BIT;\r
+    } VAD182;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD183:32;\r
+        } BIT;\r
+    } VAD183;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD184:32;\r
+        } BIT;\r
+    } VAD184;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD185:32;\r
+        } BIT;\r
+    } VAD185;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD186:32;\r
+        } BIT;\r
+    } VAD186;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD187:32;\r
+        } BIT;\r
+    } VAD187;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD188:32;\r
+        } BIT;\r
+    } VAD188;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD189:32;\r
+        } BIT;\r
+    } VAD189;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD190:32;\r
+        } BIT;\r
+    } VAD190;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD191:32;\r
+        } BIT;\r
+    } VAD191;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD192:32;\r
+        } BIT;\r
+    } VAD192;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD193:32;\r
+        } BIT;\r
+    } VAD193;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD194:32;\r
+        } BIT;\r
+    } VAD194;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD195:32;\r
+        } BIT;\r
+    } VAD195;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD196:32;\r
+        } BIT;\r
+    } VAD196;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD197:32;\r
+        } BIT;\r
+    } VAD197;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD198:32;\r
+        } BIT;\r
+    } VAD198;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD199:32;\r
+        } BIT;\r
+    } VAD199;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD200:32;\r
+        } BIT;\r
+    } VAD200;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD201:32;\r
+        } BIT;\r
+    } VAD201;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD202:32;\r
+        } BIT;\r
+    } VAD202;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD203:32;\r
+        } BIT;\r
+    } VAD203;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD204:32;\r
+        } BIT;\r
+    } VAD204;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD205:32;\r
+        } BIT;\r
+    } VAD205;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD206:32;\r
+        } BIT;\r
+    } VAD206;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD207:32;\r
+        } BIT;\r
+    } VAD207;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD208:32;\r
+        } BIT;\r
+    } VAD208;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD209:32;\r
+        } BIT;\r
+    } VAD209;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD210:32;\r
+        } BIT;\r
+    } VAD210;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD211:32;\r
+        } BIT;\r
+    } VAD211;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD212:32;\r
+        } BIT;\r
+    } VAD212;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD213:32;\r
+        } BIT;\r
+    } VAD213;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD214:32;\r
+        } BIT;\r
+    } VAD214;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD215:32;\r
+        } BIT;\r
+    } VAD215;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD216:32;\r
+        } BIT;\r
+    } VAD216;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD217:32;\r
+        } BIT;\r
+    } VAD217;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD218:32;\r
+        } BIT;\r
+    } VAD218;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD219:32;\r
+        } BIT;\r
+    } VAD219;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD220:32;\r
+        } BIT;\r
+    } VAD220;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD221:32;\r
+        } BIT;\r
+    } VAD221;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD222:32;\r
+        } BIT;\r
+    } VAD222;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD223:32;\r
+        } BIT;\r
+    } VAD223;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD224:32;\r
+        } BIT;\r
+    } VAD224;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD225:32;\r
+        } BIT;\r
+    } VAD225;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD226:32;\r
+        } BIT;\r
+    } VAD226;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD227:32;\r
+        } BIT;\r
+    } VAD227;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD228:32;\r
+        } BIT;\r
+    } VAD228;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD229:32;\r
+        } BIT;\r
+    } VAD229;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD230:32;\r
+        } BIT;\r
+    } VAD230;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD231:32;\r
+        } BIT;\r
+    } VAD231;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD232:32;\r
+        } BIT;\r
+    } VAD232;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD233:32;\r
+        } BIT;\r
+    } VAD233;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD234:32;\r
+        } BIT;\r
+    } VAD234;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD235:32;\r
+        } BIT;\r
+    } VAD235;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD236:32;\r
+        } BIT;\r
+    } VAD236;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD237:32;\r
+        } BIT;\r
+    } VAD237;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD238:32;\r
+        } BIT;\r
+    } VAD238;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD239:32;\r
+        } BIT;\r
+    } VAD239;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD240:32;\r
+        } BIT;\r
+    } VAD240;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD241:32;\r
+        } BIT;\r
+    } VAD241;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD242:32;\r
+        } BIT;\r
+    } VAD242;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD243:32;\r
+        } BIT;\r
+    } VAD243;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD244:32;\r
+        } BIT;\r
+    } VAD244;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD245:32;\r
+        } BIT;\r
+    } VAD245;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD246:32;\r
+        } BIT;\r
+    } VAD246;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD247:32;\r
+        } BIT;\r
+    } VAD247;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD248:32;\r
+        } BIT;\r
+    } VAD248;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD249:32;\r
+        } BIT;\r
+    } VAD249;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD250:32;\r
+        } BIT;\r
+    } VAD250;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD251:32;\r
+        } BIT;\r
+    } VAD251;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD252:32;\r
+        } BIT;\r
+    } VAD252;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD253:32;\r
+        } BIT;\r
+    } VAD253;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD254:32;\r
+        } BIT;\r
+    } VAD254;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD255:32;\r
+        } BIT;\r
+    } VAD255;\r
+    char           wk7[4];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL2;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL3;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL4;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL5;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL6;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL7;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL9;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL10;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL11;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL12;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL13;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL14;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL15;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL16;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL17;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL18;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL19;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL20;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL21;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL22;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL23;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL24;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL25;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL26;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL27;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL28;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL29;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL30;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL31;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL32;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL33;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL34;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL35;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL36;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL37;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL38;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL39;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL40;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL41;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL42;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL43;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL44;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL45;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL46;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL47;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL48;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL49;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL50;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL51;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL52;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL53;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL54;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL55;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL56;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL57;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL58;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL59;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL60;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL61;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL62;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL63;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL64;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL65;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL66;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL67;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL68;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL69;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL70;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL71;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL72;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL73;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL74;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL75;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL76;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL77;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL78;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL79;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL80;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL81;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL82;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL83;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL84;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL85;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL86;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL87;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL88;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL89;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL90;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL91;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL92;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL93;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL94;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL95;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL96;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL97;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL98;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL99;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL100;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL101;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL102;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL103;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL104;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL105;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL106;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL107;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL108;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL109;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL110;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL111;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL112;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL113;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL114;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL115;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL116;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL117;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL118;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL119;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL120;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL121;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL122;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL123;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL124;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL125;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL126;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL127;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL128;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL129;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL130;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL131;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL132;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL133;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL134;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL135;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL136;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL137;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL138;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL139;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL140;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL141;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL142;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL143;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL144;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL145;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL146;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL147;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL148;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL149;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL150;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL151;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL152;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL153;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL154;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL155;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL156;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL157;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL158;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL159;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL160;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL161;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL162;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL163;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL164;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL165;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL166;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL167;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL168;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL169;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL170;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL171;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL172;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL173;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL174;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL175;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL176;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL177;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL178;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL179;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL180;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL181;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL182;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL183;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL184;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL185;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL186;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL187;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL188;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL189;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL190;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL191;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL192;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL193;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL194;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL195;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL196;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL197;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL198;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL199;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL200;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL201;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL202;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL203;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL204;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL205;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL206;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL207;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL208;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL209;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL210;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL211;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL212;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL213;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL214;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL215;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL216;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL217;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL218;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL219;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL220;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL221;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL222;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL223;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL224;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL225;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL226;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL227;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL228;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL229;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL230;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL231;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL232;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL233;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL234;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL235;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL236;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL237;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL238;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL239;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL240;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL241;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL242;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL243;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL244;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL245;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL246;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL247;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL248;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL249;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL250;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL251;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL252;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL253;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL254;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL255;\r
+    char           wk8[1024];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQ256:1;\r
+            unsigned long IRQ257:1;\r
+            unsigned long IRQ258:1;\r
+            unsigned long IRQ259:1;\r
+            unsigned long IRQ260:1;\r
+            unsigned long IRQ261:1;\r
+            unsigned long IRQ262:1;\r
+            unsigned long IRQ263:1;\r
+            unsigned long IRQ264:1;\r
+            unsigned long IRQ265:1;\r
+            unsigned long IRQ266:1;\r
+            unsigned long IRQ267:1;\r
+            unsigned long IRQ268:1;\r
+            unsigned long IRQ269:1;\r
+            unsigned long IRQ270:1;\r
+            unsigned long IRQ271:1;\r
+            unsigned long IRQ272:1;\r
+            unsigned long IRQ273:1;\r
+            unsigned long IRQ274:1;\r
+            unsigned long IRQ275:1;\r
+            unsigned long IRQ276:1;\r
+            unsigned long IRQ277:1;\r
+            unsigned long IRQ278:1;\r
+            unsigned long IRQ279:1;\r
+            unsigned long IRQ280:1;\r
+            unsigned long IRQ281:1;\r
+            unsigned long IRQ282:1;\r
+            unsigned long IRQ283:1;\r
+            unsigned long IRQ284:1;\r
+            unsigned long IRQ285:1;\r
+            unsigned long IRQ286:1;\r
+            unsigned long IRQ287:1;\r
+        } BIT;\r
+    } IRQS8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IRQ288:1;\r
+            unsigned long IRQ289:1;\r
+            unsigned long IRQ290:1;\r
+            unsigned long IRQ291:1;\r
+            unsigned long IRQ292:1;\r
+            unsigned long IRQ293:1;\r
+            unsigned long IRQ294:1;\r
+            unsigned long IRQ295:1;\r
+            unsigned long IRQ296:1;\r
+            unsigned long IRQ297:1;\r
+            unsigned long IRQ298:1;\r
+            unsigned long IRQ299:1;\r
+            unsigned long IRQ300:1;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } IRQS9;\r
+    char           wk9[56];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RAI256:1;\r
+            unsigned long RAI257:1;\r
+            unsigned long RAI258:1;\r
+            unsigned long RAI259:1;\r
+            unsigned long RAI260:1;\r
+            unsigned long RAI261:1;\r
+            unsigned long RAI262:1;\r
+            unsigned long RAI263:1;\r
+            unsigned long RAI264:1;\r
+            unsigned long RAI265:1;\r
+            unsigned long RAI266:1;\r
+            unsigned long RAI267:1;\r
+            unsigned long RAI268:1;\r
+            unsigned long RAI269:1;\r
+            unsigned long RAI270:1;\r
+            unsigned long RAI271:1;\r
+            unsigned long RAI272:1;\r
+            unsigned long RAI273:1;\r
+            unsigned long RAI274:1;\r
+            unsigned long RAI275:1;\r
+            unsigned long RAI276:1;\r
+            unsigned long RAI277:1;\r
+            unsigned long RAI278:1;\r
+            unsigned long RAI279:1;\r
+            unsigned long RAI280:1;\r
+            unsigned long RAI281:1;\r
+            unsigned long RAI282:1;\r
+            unsigned long RAI283:1;\r
+            unsigned long RAI284:1;\r
+            unsigned long RAI285:1;\r
+            unsigned long RAI286:1;\r
+            unsigned long RAI287:1;\r
+        } BIT;\r
+    } RAIS8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long RAI288:1;\r
+            unsigned long RAI289:1;\r
+            unsigned long RAI290:1;\r
+            unsigned long RAI291:1;\r
+            unsigned long RAI292:1;\r
+            unsigned long RAI293:1;\r
+            unsigned long RAI294:1;\r
+            unsigned long RAI295:1;\r
+            unsigned long RAI296:1;\r
+            unsigned long RAI297:1;\r
+            unsigned long RAI298:1;\r
+            unsigned long RAI299:1;\r
+            unsigned long RAI300:1;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } RAIS9;\r
+    char           wk10[56];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEN256:1;\r
+            unsigned long IEN257:1;\r
+            unsigned long IEN258:1;\r
+            unsigned long IEN259:1;\r
+            unsigned long IEN260:1;\r
+            unsigned long IEN261:1;\r
+            unsigned long IEN262:1;\r
+            unsigned long IEN263:1;\r
+            unsigned long IEN264:1;\r
+            unsigned long IEN265:1;\r
+            unsigned long IEN266:1;\r
+            unsigned long IEN267:1;\r
+            unsigned long IEN268:1;\r
+            unsigned long IEN269:1;\r
+            unsigned long IEN270:1;\r
+            unsigned long IEN271:1;\r
+            unsigned long IEN272:1;\r
+            unsigned long IEN273:1;\r
+            unsigned long IEN274:1;\r
+            unsigned long IEN275:1;\r
+            unsigned long IEN276:1;\r
+            unsigned long IEN277:1;\r
+            unsigned long IEN278:1;\r
+            unsigned long IEN279:1;\r
+            unsigned long IEN280:1;\r
+            unsigned long IEN281:1;\r
+            unsigned long IEN282:1;\r
+            unsigned long IEN283:1;\r
+            unsigned long IEN284:1;\r
+            unsigned long IEN285:1;\r
+            unsigned long IEN286:1;\r
+            unsigned long IEN287:1;\r
+        } BIT;\r
+    } IEN8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEN288:1;\r
+            unsigned long IEN289:1;\r
+            unsigned long IEN290:1;\r
+            unsigned long IEN291:1;\r
+            unsigned long IEN292:1;\r
+            unsigned long IEN293:1;\r
+            unsigned long IEN294:1;\r
+            unsigned long IEN295:1;\r
+            unsigned long IEN296:1;\r
+            unsigned long IEN297:1;\r
+            unsigned long IEN298:1;\r
+            unsigned long IEN299:1;\r
+            unsigned long IEN300:1;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } IEN9;\r
+    char           wk11[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEC256:1;\r
+            unsigned long IEC257:1;\r
+            unsigned long IEC258:1;\r
+            unsigned long IEC259:1;\r
+            unsigned long IEC260:1;\r
+            unsigned long IEC261:1;\r
+            unsigned long IEC262:1;\r
+            unsigned long IEC263:1;\r
+            unsigned long IEC264:1;\r
+            unsigned long IEC265:1;\r
+            unsigned long IEC266:1;\r
+            unsigned long IEC267:1;\r
+            unsigned long IEC268:1;\r
+            unsigned long IEC269:1;\r
+            unsigned long IEC270:1;\r
+            unsigned long IEC271:1;\r
+            unsigned long IEC272:1;\r
+            unsigned long IEC273:1;\r
+            unsigned long IEC274:1;\r
+            unsigned long IEC275:1;\r
+            unsigned long IEC276:1;\r
+            unsigned long IEC277:1;\r
+            unsigned long IEC278:1;\r
+            unsigned long IEC279:1;\r
+            unsigned long IEC280:1;\r
+            unsigned long IEC281:1;\r
+            unsigned long IEC282:1;\r
+            unsigned long IEC283:1;\r
+            unsigned long IEC284:1;\r
+            unsigned long IEC285:1;\r
+            unsigned long IEC286:1;\r
+            unsigned long IEC287:1;\r
+        } BIT;\r
+    } IEC8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long IEC288:1;\r
+            unsigned long IEC289:1;\r
+            unsigned long IEC290:1;\r
+            unsigned long IEC291:1;\r
+            unsigned long IEC292:1;\r
+            unsigned long IEC293:1;\r
+            unsigned long IEC294:1;\r
+            unsigned long IEC295:1;\r
+            unsigned long IEC296:1;\r
+            unsigned long IEC297:1;\r
+            unsigned long IEC298:1;\r
+            unsigned long IEC299:1;\r
+            unsigned long IEC300:1;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } IEC9;\r
+    char           wk12[88];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PLS256:1;\r
+            unsigned long PLS257:1;\r
+            unsigned long PLS258:1;\r
+            unsigned long PLS259:1;\r
+            unsigned long PLS260:1;\r
+            unsigned long PLS261:1;\r
+            unsigned long PLS262:1;\r
+            unsigned long PLS263:1;\r
+            unsigned long PLS264:1;\r
+            unsigned long PLS265:1;\r
+            unsigned long PLS266:1;\r
+            unsigned long PLS267:1;\r
+            unsigned long PLS268:1;\r
+            unsigned long PLS269:1;\r
+            unsigned long PLS270:1;\r
+            unsigned long PLS271:1;\r
+            unsigned long PLS272:1;\r
+            unsigned long PLS273:1;\r
+            unsigned long PLS274:1;\r
+            unsigned long PLS275:1;\r
+            unsigned long PLS276:1;\r
+            unsigned long PLS277:1;\r
+            unsigned long PLS278:1;\r
+            unsigned long PLS279:1;\r
+            unsigned long PLS280:1;\r
+            unsigned long PLS281:1;\r
+            unsigned long PLS282:1;\r
+            unsigned long PLS283:1;\r
+            unsigned long PLS284:1;\r
+            unsigned long PLS285:1;\r
+            unsigned long PLS286:1;\r
+            unsigned long PLS287:1;\r
+        } BIT;\r
+    } PLS8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PLS288:1;\r
+            unsigned long PLS289:1;\r
+            unsigned long PLS290:1;\r
+            unsigned long PLS291:1;\r
+            unsigned long PLS292:1;\r
+            unsigned long PLS293:1;\r
+            unsigned long PLS294:1;\r
+            unsigned long PLS295:1;\r
+            unsigned long PLS296:1;\r
+            unsigned long PLS297:1;\r
+            unsigned long PLS298:1;\r
+            unsigned long PLS299:1;\r
+            unsigned long PLS300:1;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } PLS9;\r
+    char           wk13[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PIC256:1;\r
+            unsigned long PIC257:1;\r
+            unsigned long PIC258:1;\r
+            unsigned long PIC259:1;\r
+            unsigned long PIC260:1;\r
+            unsigned long PIC261:1;\r
+            unsigned long PIC262:1;\r
+            unsigned long PIC263:1;\r
+            unsigned long PIC264:1;\r
+            unsigned long PIC265:1;\r
+            unsigned long PIC266:1;\r
+            unsigned long PIC267:1;\r
+            unsigned long PIC268:1;\r
+            unsigned long PIC269:1;\r
+            unsigned long PIC270:1;\r
+            unsigned long PIC271:1;\r
+            unsigned long PIC272:1;\r
+            unsigned long PIC273:1;\r
+            unsigned long PIC274:1;\r
+            unsigned long PIC275:1;\r
+            unsigned long PIC276:1;\r
+            unsigned long PIC277:1;\r
+            unsigned long PIC278:1;\r
+            unsigned long PIC279:1;\r
+            unsigned long PIC280:1;\r
+            unsigned long PIC281:1;\r
+            unsigned long PIC282:1;\r
+            unsigned long PIC283:1;\r
+            unsigned long PIC284:1;\r
+            unsigned long PIC285:1;\r
+            unsigned long PIC286:1;\r
+            unsigned long PIC287:1;\r
+        } BIT;\r
+    } PIC8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PIC288:1;\r
+            unsigned long PIC289:1;\r
+            unsigned long PIC290:1;\r
+            unsigned long PIC291:1;\r
+            unsigned long PIC292:1;\r
+            unsigned long PIC293:1;\r
+            unsigned long PIC294:1;\r
+            unsigned long PIC295:1;\r
+            unsigned long PIC296:1;\r
+            unsigned long PIC297:1;\r
+            unsigned long PIC298:1;\r
+            unsigned long PIC299:1;\r
+            unsigned long PIC300:1;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } PIC9;\r
+    char           wk14[152];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRLM0:1;\r
+            unsigned long PRLM1:1;\r
+            unsigned long PRLM2:1;\r
+            unsigned long PRLM3:1;\r
+            unsigned long PRLM4:1;\r
+            unsigned long PRLM5:1;\r
+            unsigned long PRLM6:1;\r
+            unsigned long PRLM7:1;\r
+            unsigned long PRLM8:1;\r
+            unsigned long PRLM9:1;\r
+            unsigned long PRLM10:1;\r
+            unsigned long PRLM11:1;\r
+            unsigned long PRLM12:1;\r
+            unsigned long PRLM13:1;\r
+            unsigned long PRLM14:1;\r
+            unsigned long PRLM15:1;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } PRLM1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRLC0:1;\r
+            unsigned long PRLC1:1;\r
+            unsigned long PRLC2:1;\r
+            unsigned long PRLC3:1;\r
+            unsigned long PRLC4:1;\r
+            unsigned long PRLC5:1;\r
+            unsigned long PRLC6:1;\r
+            unsigned long PRLC7:1;\r
+            unsigned long PRLC8:1;\r
+            unsigned long PRLC9:1;\r
+            unsigned long PRLC10:1;\r
+            unsigned long PRLC11:1;\r
+            unsigned long PRLC12:1;\r
+            unsigned long PRLC13:1;\r
+            unsigned long PRLC14:1;\r
+            unsigned long PRLC15:1;\r
+            unsigned long :16;\r
+        } BIT;\r
+    } PRLC1;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long UE:1;\r
+            unsigned long :31;\r
+        } BIT;\r
+    } UEN1;\r
+    char           wk15[68];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISS256:1;\r
+            unsigned long ISS257:1;\r
+            unsigned long ISS258:1;\r
+            unsigned long ISS259:1;\r
+            unsigned long ISS260:1;\r
+            unsigned long ISS261:1;\r
+            unsigned long ISS262:1;\r
+            unsigned long ISS263:1;\r
+            unsigned long ISS264:1;\r
+            unsigned long ISS265:1;\r
+            unsigned long ISS266:1;\r
+            unsigned long ISS267:1;\r
+            unsigned long ISS268:1;\r
+            unsigned long ISS269:1;\r
+            unsigned long ISS270:1;\r
+            unsigned long ISS271:1;\r
+            unsigned long ISS272:1;\r
+            unsigned long ISS273:1;\r
+            unsigned long ISS274:1;\r
+            unsigned long ISS275:1;\r
+            unsigned long ISS276:1;\r
+            unsigned long ISS277:1;\r
+            unsigned long ISS278:1;\r
+            unsigned long SS279:1;\r
+            unsigned long ISS280:1;\r
+            unsigned long ISS281:1;\r
+            unsigned long ISS282:1;\r
+            unsigned long ISS283:1;\r
+            unsigned long ISS284:1;\r
+            unsigned long ISS285:1;\r
+            unsigned long ISS286:1;\r
+            unsigned long ISS287:1;\r
+        } BIT;\r
+    } ISS8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISS288:1;\r
+            unsigned long ISS289:1;\r
+            unsigned long ISS290:1;\r
+            unsigned long ISS291:1;\r
+            unsigned long ISS292:1;\r
+            unsigned long ISS293:1;\r
+            unsigned long ISS294:1;\r
+            unsigned long ISS295:1;\r
+            unsigned long ISS296:1;\r
+            unsigned long ISS297:1;\r
+            unsigned long ISS298:1;\r
+            unsigned long ISS299:1;\r
+            unsigned long ISS300:1;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } ISS9;\r
+    char           wk16[24];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISC256:1;\r
+            unsigned long ISC257:1;\r
+            unsigned long ISC258:1;\r
+            unsigned long ISC259:1;\r
+            unsigned long ISC260:1;\r
+            unsigned long ISC261:1;\r
+            unsigned long ISC262:1;\r
+            unsigned long ISC263:1;\r
+            unsigned long ISC264:1;\r
+            unsigned long ISC265:1;\r
+            unsigned long ISC266:1;\r
+            unsigned long ISC267:1;\r
+            unsigned long ISC268:1;\r
+            unsigned long ISC269:1;\r
+            unsigned long ISC270:1;\r
+            unsigned long ISC271:1;\r
+            unsigned long ISC272:1;\r
+            unsigned long ISC273:1;\r
+            unsigned long ISC274:1;\r
+            unsigned long ISC275:1;\r
+            unsigned long ISC276:1;\r
+            unsigned long ISC277:1;\r
+            unsigned long ISC278:1;\r
+            unsigned long ISC279:1;\r
+            unsigned long ISC280:1;\r
+            unsigned long ISC281:1;\r
+            unsigned long ISC282:1;\r
+            unsigned long ISC283:1;\r
+            unsigned long ISC284:1;\r
+            unsigned long ISC285:1;\r
+            unsigned long ISC286:1;\r
+            unsigned long ISC287:1;\r
+        } BIT;\r
+    } ISC8;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long ISC288:1;\r
+            unsigned long ISC289:1;\r
+            unsigned long ISC290:1;\r
+            unsigned long ISC291:1;\r
+            unsigned long ISC292:1;\r
+            unsigned long ISC293:1;\r
+            unsigned long ISC294:1;\r
+            unsigned long ISC295:1;\r
+            unsigned long ISC296:1;\r
+            unsigned long ISC297:1;\r
+            unsigned long ISC298:1;\r
+            unsigned long ISC299:1;\r
+            unsigned long ISC300:1;\r
+            unsigned long :19;\r
+        } BIT;\r
+    } ISC9;\r
+    char           wk17[456];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD256:32;\r
+        } BIT;\r
+    } VAD256;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD257:32;\r
+        } BIT;\r
+    } VAD257;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD258:32;\r
+        } BIT;\r
+    } VAD258;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD259:32;\r
+        } BIT;\r
+    } VAD259;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD260:32;\r
+        } BIT;\r
+    } VAD260;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD261:32;\r
+        } BIT;\r
+    } VAD261;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD262:32;\r
+        } BIT;\r
+    } VAD262;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD263:32;\r
+        } BIT;\r
+    } VAD263;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD264:32;\r
+        } BIT;\r
+    } VAD264;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD265:32;\r
+        } BIT;\r
+    } VAD265;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD266:32;\r
+        } BIT;\r
+    } VAD266;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD267:32;\r
+        } BIT;\r
+    } VAD267;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD268:32;\r
+        } BIT;\r
+    } VAD268;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD269:32;\r
+        } BIT;\r
+    } VAD269;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD270:32;\r
+        } BIT;\r
+    } VAD270;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD271:32;\r
+        } BIT;\r
+    } VAD271;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD272:32;\r
+        } BIT;\r
+    } VAD272;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD273:32;\r
+        } BIT;\r
+    } VAD273;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD274:32;\r
+        } BIT;\r
+    } VAD274;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD275:32;\r
+        } BIT;\r
+    } VAD275;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD276:32;\r
+        } BIT;\r
+    } VAD276;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD277:32;\r
+        } BIT;\r
+    } VAD277;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD278:32;\r
+        } BIT;\r
+    } VAD278;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD279:32;\r
+        } BIT;\r
+    } VAD279;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD280:32;\r
+        } BIT;\r
+    } VAD280;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD281:32;\r
+        } BIT;\r
+    } VAD281;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD282:32;\r
+        } BIT;\r
+    } VAD282;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD283:32;\r
+        } BIT;\r
+    } VAD283;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD284:32;\r
+        } BIT;\r
+    } VAD284;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD285:32;\r
+        } BIT;\r
+    } VAD285;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD286:32;\r
+        } BIT;\r
+    } VAD286;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD287:32;\r
+        } BIT;\r
+    } VAD287;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD288:32;\r
+        } BIT;\r
+    } VAD288;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD289:32;\r
+        } BIT;\r
+    } VAD289;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD290:32;\r
+        } BIT;\r
+    } VAD290;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD291:32;\r
+        } BIT;\r
+    } VAD291;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD292:32;\r
+        } BIT;\r
+    } VAD292;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD293:32;\r
+        } BIT;\r
+    } VAD293;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD294:32;\r
+        } BIT;\r
+    } VAD294;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD295:32;\r
+        } BIT;\r
+    } VAD295;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD296:32;\r
+        } BIT;\r
+    } VAD296;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD297:32;\r
+        } BIT;\r
+    } VAD297;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD298:32;\r
+        } BIT;\r
+    } VAD298;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD299:32;\r
+        } BIT;\r
+    } VAD299;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long VAD300:32;\r
+        } BIT;\r
+    } VAD300;\r
+    char           wk18[844];\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL256;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL257;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL258;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL259;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL260;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL261;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL262;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL263;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL264;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL265;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL266;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL267;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL268;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL269;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL270;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL271;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL272;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL273;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL274;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL275;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL276;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL277;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL278;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL279;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL280;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL281;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL282;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL283;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL284;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL285;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL286;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL287;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL288;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL289;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL290;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL291;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL292;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL293;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL294;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL295;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL296;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL297;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL298;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL299;\r
+    union\r
+    {\r
+        unsigned long LONG;\r
+        struct\r
+        {\r
+            unsigned long PRL:4;\r
+            unsigned long :28;\r
+        } BIT;\r
+    } PRL300;\r
+};\r
+\r
+struct st_wdt\r
+{\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char REFRESH:8;\r
+        } BIT;\r
+    } WDTRR;\r
+    char           wk0[1];\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short TOPS:2;\r
+            unsigned short :2;\r
+            unsigned short CKS:4;\r
+            unsigned short RPES:2;\r
+            unsigned short :2;\r
+            unsigned short RPSS:2;\r
+            unsigned short :2;\r
+        } BIT;\r
+    } WDTCR;\r
+    union\r
+    {\r
+        unsigned short WORD;\r
+        struct\r
+        {\r
+            unsigned short CNTVAL:14;\r
+            unsigned short UNDFF:1;\r
+            unsigned short REFEF:1;\r
+        } BIT;\r
+    } WDTSR;\r
+    union\r
+    {\r
+        unsigned char BYTE;\r
+        struct\r
+        {\r
+            unsigned char :7;\r
+            unsigned char RSTIRQS:1;\r
+        } BIT;\r
+    } WDTRCR;\r
+};\r
+\r
+//-------------------------------------\r
+// Peripheral I/O region\r
+//-------------------------------------\r
+#ifdef  _RZT1_REGISTER_CORTEX_M3_\r
+#define PERI_BASE                              (0x40000000UL)\r
+#else\r
+#define PERI_BASE                              (0xA0000000UL)\r
+#endif\r
+\r
+#define BSC     (*(volatile struct st_bsc     *)(PERI_BASE + 0x00002004))\r
+#define CLMA0   (*(volatile struct st_clma0   *)(PERI_BASE + 0x00090000))\r
+#define CLMA1   (*(volatile struct st_clma1   *)(PERI_BASE + 0x00090020))\r
+#define CLMA2   (*(volatile struct st_clma2   *)(PERI_BASE + 0x00090040))\r
+#define CMT     (*(volatile struct st_cmt     *)(PERI_BASE + 0x00080000))\r
+#define CMT0    (*(volatile struct st_cmt0    *)(PERI_BASE + 0x00080002))\r
+#define CMT1    (*(volatile struct st_cmt0    *)(PERI_BASE + 0x00080008))\r
+#define CMT2    (*(volatile struct st_cmt0    *)(PERI_BASE + 0x00080022))\r
+#define CMT3    (*(volatile struct st_cmt0    *)(PERI_BASE + 0x00080028))\r
+#define CMT4    (*(volatile struct st_cmt0    *)(PERI_BASE + 0x00080042))\r
+#define CMT5    (*(volatile struct st_cmt0    *)(PERI_BASE + 0x00080048))\r
+#define CMTW    (*(volatile struct st_cmtw    *)(PERI_BASE + 0x00080400))\r
+#define CMTW0   (*(volatile struct st_cmtw0   *)(PERI_BASE + 0x00080300))\r
+#define CMTW1   (*(volatile struct st_cmtw0   *)(PERI_BASE + 0x00080380))\r
+#define CRC     (*(volatile struct st_crc     *)(PERI_BASE + 0x0007C000))\r
+#define DMA0    (*(volatile struct st_dma0    *)(PERI_BASE + 0x00062000))\r
+#define DMA1    (*(volatile struct st_dma1    *)(PERI_BASE + 0x00063000))\r
+#define DMAC    (*(volatile struct st_dmac    *)(PERI_BASE + 0x00002000))\r
+#define DOC     (*(volatile struct st_doc     *)(PERI_BASE + 0x00081200))\r
+#define DSMIF   (*(volatile struct st_dsmif   *)(PERI_BASE + 0x00072000))\r
+#define ECATC   (*(volatile struct st_ecatc   *)(PERI_BASE + 0x000BF100))\r
+#define ECCRAM  (*(volatile struct st_eccram  *)(PERI_BASE + 0x000F3000))\r
+#define ECM     (*(volatile struct st_ecm     *)(PERI_BASE + 0x0007D080))\r
+#define ECMC    (*(volatile struct st_ecmc    *)(PERI_BASE + 0x0007D040))\r
+#define ECMM    (*(volatile struct st_ecmm    *)(PERI_BASE + 0x0007D000))\r
+#define ELC     (*(volatile struct st_elc     *)(PERI_BASE + 0x00080B00))\r
+#define ETHERC  (*(volatile struct st_etherc  *)(PERI_BASE + 0x000BF000))\r
+#define ETHERSW (*(volatile struct st_ethersw *)(PERI_BASE + 0x000BF014))\r
+#define GPT     (*(volatile struct st_gpt     *)(PERI_BASE + 0x0006C000))\r
+#define GPT0    (*(volatile struct st_gpt0    *)(PERI_BASE + 0x0006C100))\r
+#define GPT1    (*(volatile struct st_gpt0    *)(PERI_BASE + 0x0006C180))\r
+#define GPT2    (*(volatile struct st_gpt0    *)(PERI_BASE + 0x0006C200))\r
+#define GPT3    (*(volatile struct st_gpt0    *)(PERI_BASE + 0x0006C280))\r
+#define ICU     (*(volatile struct st_icu     *)(PERI_BASE + 0x00094200))\r
+#define IWDT    (*(volatile struct st_iwdt    *)(PERI_BASE + 0x00080700))\r
+#define MPC     (*(volatile struct st_mpc     *)(PERI_BASE + 0x00000200))\r
+#define MTU     (*(volatile struct st_mtu     *)(PERI_BASE + 0x0006A00A))\r
+#define MTU0    (*(volatile struct st_mtu0    *)(PERI_BASE + 0x0006A090))\r
+#define MTU1    (*(volatile struct st_mtu1    *)(PERI_BASE + 0x0006A090))\r
+#define MTU2    (*(volatile struct st_mtu2    *)(PERI_BASE + 0x0006A092))\r
+#define MTU3    (*(volatile struct st_mtu3    *)(PERI_BASE + 0x0006A000))\r
+#define MTU4    (*(volatile struct st_mtu4    *)(PERI_BASE + 0x0006A000))\r
+#define MTU5    (*(volatile struct st_mtu5    *)(PERI_BASE + 0x0006A894))\r
+#define MTU6    (*(volatile struct st_mtu6    *)(PERI_BASE + 0x0006A800))\r
+#define MTU7    (*(volatile struct st_mtu7    *)(PERI_BASE + 0x0006A800))\r
+#define MTU8    (*(volatile struct st_mtu8    *)(PERI_BASE + 0x0006A098))\r
+#define POE3    (*(volatile struct st_poe     *)(PERI_BASE + 0x00080800))\r
+#define PORT0   (*(volatile struct st_port0   *)(PERI_BASE + 0x00000000))\r
+#define PORT1   (*(volatile struct st_port1   *)(PERI_BASE + 0x00000002))\r
+#define PORT2   (*(volatile struct st_port2   *)(PERI_BASE + 0x00000004))\r
+#define PORT3   (*(volatile struct st_port3   *)(PERI_BASE + 0x00000006))\r
+#define PORT4   (*(volatile struct st_port4   *)(PERI_BASE + 0x00000008))\r
+#define PORT5   (*(volatile struct st_port5   *)(PERI_BASE + 0x0000000A))\r
+#define PORT6   (*(volatile struct st_port6   *)(PERI_BASE + 0x0000000C))\r
+#define PORT7   (*(volatile struct st_port7   *)(PERI_BASE + 0x0000000E))\r
+#define PORT8   (*(volatile struct st_port8   *)(PERI_BASE + 0x00000010))\r
+#define PORT9   (*(volatile struct st_port9   *)(PERI_BASE + 0x00000012))\r
+#define PORTA   (*(volatile struct st_porta   *)(PERI_BASE + 0x00000014))\r
+#define PORTB   (*(volatile struct st_portb   *)(PERI_BASE + 0x00000016))\r
+#define PORTC   (*(volatile struct st_portc   *)(PERI_BASE + 0x00000018))\r
+#define PORTD   (*(volatile struct st_portd   *)(PERI_BASE + 0x0000001A))\r
+#define PORTE   (*(volatile struct st_porte   *)(PERI_BASE + 0x0000001C))\r
+#define PORTF   (*(volatile struct st_portf   *)(PERI_BASE + 0x0000001E))\r
+#define PORTG   (*(volatile struct st_portg   *)(PERI_BASE + 0x00000020))\r
+#define PORTH   (*(volatile struct st_porth   *)(PERI_BASE + 0x00000022))\r
+#define PORTJ   (*(volatile struct st_portj   *)(PERI_BASE + 0x00000024))\r
+#define PORTK   (*(volatile struct st_portk   *)(PERI_BASE + 0x00000026))\r
+#define PORTL   (*(volatile struct st_portl   *)(PERI_BASE + 0x00000028))\r
+#define PORTM   (*(volatile struct st_portm   *)(PERI_BASE + 0x0000002A))\r
+#define PORTN   (*(volatile struct st_portn   *)(PERI_BASE + 0x0000002C))\r
+#define PORTP   (*(volatile struct st_portp   *)(PERI_BASE + 0x0000002E))\r
+#define PORTR   (*(volatile struct st_portr   *)(PERI_BASE + 0x00000030))\r
+#define PORTS   (*(volatile struct st_ports   *)(PERI_BASE + 0x00000032))\r
+#define PORTT   (*(volatile struct st_portt   *)(PERI_BASE + 0x00000034))\r
+#define PORTU   (*(volatile struct st_portu   *)(PERI_BASE + 0x00000036))\r
+#define PPG0    (*(volatile struct st_ppg0    *)(PERI_BASE + 0x00080506))\r
+#define PPG1    (*(volatile struct st_ppg1    *)(PERI_BASE + 0x00080516))\r
+#define RIIC0   (*(volatile struct st_riic    *)(PERI_BASE + 0x00080900))\r
+#define RIIC1   (*(volatile struct st_riic    *)(PERI_BASE + 0x00080940))\r
+#define RSCAN   (*(volatile struct st_rscan   *)(PERI_BASE + 0x00078000))\r
+#define RSPI0   (*(volatile struct st_rspi    *)(PERI_BASE + 0x00068000))\r
+#define RSPI1   (*(volatile struct st_rspi    *)(PERI_BASE + 0x00068400))\r
+#define RSPI2   (*(volatile struct st_rspi    *)(PERI_BASE + 0x00068800))\r
+#define RSPI3   (*(volatile struct st_rspi    *)(PERI_BASE + 0x00068C00))\r
+#define S12ADC0 (*(volatile struct st_s12adc0 *)(PERI_BASE + 0x0008C000))\r
+#define S12ADC1 (*(volatile struct st_s12adc1 *)(PERI_BASE + 0x0008C400))\r
+#define SCIFA0  (*(volatile struct st_scifa   *)(PERI_BASE + 0x00065000))\r
+#define SCIFA1  (*(volatile struct st_scifa   *)(PERI_BASE + 0x00065400))\r
+#define SCIFA2  (*(volatile struct st_scifa   *)(PERI_BASE + 0x00065800))\r
+#define SCIFA3  (*(volatile struct st_scifa   *)(PERI_BASE + 0x00065C00))\r
+#define SCIFA4  (*(volatile struct st_scifa   *)(PERI_BASE + 0x00066000))\r
+#define SPIBSC  (*(volatile struct st_spibsc  *)(PERI_BASE + 0x00005000))\r
+#define SSI     (*(volatile struct st_ssi     *)(PERI_BASE + 0x00081000))\r
+#define SYSTEM  (*(volatile struct st_system  *)(PERI_BASE + 0x000B0020))\r
+#define TPU0    (*(volatile struct st_tpu0    *)(PERI_BASE + 0x00080108))\r
+#define TPU1    (*(volatile struct st_tpu1    *)(PERI_BASE + 0x00080108))\r
+#define TPU2    (*(volatile struct st_tpu2    *)(PERI_BASE + 0x0008010A))\r
+#define TPU3    (*(volatile struct st_tpu3    *)(PERI_BASE + 0x0008010A))\r
+#define TPU4    (*(volatile struct st_tpu4    *)(PERI_BASE + 0x0008010C))\r
+#define TPU5    (*(volatile struct st_tpu5    *)(PERI_BASE + 0x0008010C))\r
+#define TPU6    (*(volatile struct st_tpu0    *)(PERI_BASE + 0x00080188))\r
+#define TPU7    (*(volatile struct st_tpu1    *)(PERI_BASE + 0x00080188))\r
+#define TPU8    (*(volatile struct st_tpu2    *)(PERI_BASE + 0x0008018A))\r
+#define TPU9    (*(volatile struct st_tpu3    *)(PERI_BASE + 0x0008018A))\r
+#define TPU10   (*(volatile struct st_tpu4    *)(PERI_BASE + 0x0008018C))\r
+#define TPU11   (*(volatile struct st_tpu5    *)(PERI_BASE + 0x0008018C))\r
+#define TPUA    (*(volatile struct st_tpua    *)(PERI_BASE + 0x00080100))\r
+#define TPUSL   (*(volatile struct st_tpusl   *)(PERI_BASE + 0x00080200))\r
+#define TSN     (*(volatile struct st_tsn     *)(PERI_BASE + 0x00080A00))\r
+#define USBf    (*(volatile struct st_usbf    *)(PERI_BASE + 0x00060000))\r
+#define USBh    (*(volatile struct st_usbh    *)(PERI_BASE + 0x00040000))\r
+#define VIC     (*(volatile struct st_vic     *)(PERI_BASE + 0x00010000))\r
+#define WDT0    (*(volatile struct st_wdt     *)(PERI_BASE + 0x00080600))\r
+#define WDT1    (*(volatile struct st_wdt     *)(PERI_BASE + 0x00080620))\r
+\r
+#endif\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/lcd_pmod.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/lcd_pmod.h
new file mode 100644 (file)
index 0000000..7dc1aad
--- /dev/null
@@ -0,0 +1,227 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* File Name     : lcd_pmod.h\r
+* Device(s)     : RZ/T1 (R7S910017)\r
+* Tool-Chain    : GNUARM-NONEv14.02-EABI\r
+* H/W Platform  : RSK+RZT1 CPU Board\r
+*\r
+* Description   : This Header file contains the Macro Definitions & prototypes\r
+*                 for the functions used in lcd.c\r
+*\r
+*                 This function is created to drive the Okaya LCD display with\r
+*                 either ST7735 or ST7715 driver device. The commands for both\r
+*                 the devices are the same.\r
+*\r
+*                 The display is controlled using the SPI bus. In this example,\r
+*                 the SCI5 is used. This can be modified to the SCI connected to\r
+*                 the PMOD interface. The SCI driver file will also be required.\r
+*\r
+*                 The display memory has an offset with respect to the actual\r
+*                 pixel. This is not documented but realised from driving the\r
+*                 display. The offset is set as LEFT MARGIN and TOP MARGIN.\r
+*                 This offset is catered for internally, so as far as the user\r
+*                 is concerned, cursor position 0,0 is the top left pixel.\r
+* \r
+*                 The simplest procedure to run the display is as follows:\r
+*                 Init_LCD(); Initialise the serial port and set up the display.\r
+*\r
+*                 Clear the display.\r
+*                 The font colour is set to white and background colour to black.\r
+*\r
+*                 DisplaySetFontColour(COL_YELLOW);\r
+*                                    set the font colour to desired colour\r
+*                 DisplaySetBackColour(COL_BLUE);\r
+*                                    set the background colour to desired value\r
+*                 DisplayCenter(1,"Renesas");\r
+*                                    write a title on line 1 of the display.\r
+*\r
+*                Note: Line 0 is the top line.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History       : DD.MM.YYYY Version Description\r
+*               : 21.04.2015 1.00\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+User Includes (Project Level Includes)\r
+***********************************************************************************************************************/\r
+/* Defines standard variable types used in this file */\r
+#include <stdint.h>\r
+#include "iodefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Macro Definitions\r
+***********************************************************************************************************************/\r
+/* Multiple inclusion prevention macro */\r
+#ifndef LCD_PMOD_H\r
+#define LCD_PMOD_H\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro Definitions for Okaya display on PMOD connector\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+*  SCREEN\r
+*\r
+*  The screen size is 128 x 128 pixels, with coordinate 0,0 at the top left.\r
+*  The display controller is ST7735 or ST7715.\r
+*\r
+***********************************************************************************************************************/\r
+/* 16 lines @ 8 bits = 128. */\r
+#define SCREEN_HEIGHT             (128)            \r
+#define SCREEN_WIDTH              (128)\r
+\r
+#ifndef USE_PMOD2\r
+/* DATA/COMMAND select pin */\r
+#define DATA_CMD_PIN              (PORT7.PODR.BIT.B6)\r
+/* Backlight enable pin */\r
+#define BL_ENABLE_PIN             (PORT7.PODR.BIT.B4)  \r
+/* Reset pin */\r
+#define RESET_PIN                 (PORT6.PODR.BIT.B7)\r
+#else\r
+/* DATA/COMMAND select pin */\r
+#define DATA_CMD_PIN              (PORTM.PODR.BIT.B2)\r
+/* Backlight enable pin */\r
+#define BL_ENABLE_PIN             (PORTM.PODR.BIT.B3) \r
+/* Reset pin */\r
+#define RESET_PIN                 (PORT5.PODR.BIT.B1)\r
+#endif\r
+\r
+/* Automatic calculation of parameters */\r
+\r
+ /* including a space */\r
+#define FONT_WIDTH                (6u)\r
+/* including 1 pixel space */\r
+#define FONT_HEIGHT               (8u)\r
+#define MAX_LINES                 (SCREEN_HEIGHT / FONT_HEIGHT)\r
+#define CHAR_PER_LINE             (SCREEN_WIDTH / FONT_WIDTH)\r
+\r
+/* Allow 2 pixel margin on the left and the top */\r
+#define LEFT_MARGIN               (2u)\r
+#define TOP_MARGIN                (3u)\r
+#define CR                        (0x0d)\r
+#define LF                        (0x0a)\r
+#define BS                        (0x08)\r
+\r
+\r
+/***********************************************************************************************************************\r
+*  DISPLAY COLOUR DEFINITIONS (16 bits) R5G6B5 format\r
+*\r
+*  Only Primary & secondary colours are defined here. Other colours can be\r
+*  created using RGB values.\r
+***********************************************************************************************************************/\r
+#define COL_BLACK       (0x0000)\r
+#define COL_RED         (0xF800)\r
+#define COL_GREEN       (0x07E0)\r
+#define COL_BLUE        (0x001F)\r
+#define COL_YELLOW      (0xFFE0)\r
+#define COL_CYAN        (0x07FF)\r
+#define COL_MAGENTA     (0xF81F)\r
+#define COL_WHITE       (0xFFFF)\r
+\r
+/***********************************************************************************************************************\r
+\r
+  DISPLAY COMMAND SET ST7735\r
+\r
+***********************************************************************************************************************/\r
+#define ST7735_NOP      (0x0)\r
+#define ST7735_SWRESET  (0x01)\r
+#define ST7735_SLPIN    (0x10)\r
+#define ST7735_SLPOUT   (0x11)\r
+#define ST7735_PTLON    (0x12)\r
+#define ST7735_NORON    (0x13)\r
+#define ST7735_INVOFF   (0x20)\r
+#define ST7735_INVON    (0x21)\r
+#define ST7735_DISPOFF  (0x28)\r
+#define ST7735_DISPON   (0x29)\r
+#define ST7735_CASET    (0x2A)\r
+#define ST7735_RASET    (0x2B)\r
+#define ST7735_RAMWR    (0x2C)\r
+#define ST7735_COLMOD   (0x3A)\r
+#define ST7735_MADCTL   (0x36)\r
+#define ST7735_FRMCTR1  (0xB1)\r
+#define ST7735_INVCTR   (0xB4)\r
+#define ST7735_DISSET5  (0xB6)\r
+#define ST7735_PWCTR1   (0xC0)\r
+#define ST7735_PWCTR2   (0xC1)\r
+#define ST7735_PWCTR3   (0xC2)\r
+#define ST7735_VMCTR1   (0xC5)\r
+#define ST7735_PWCTR6   (0xFC)\r
+#define ST7735_GMCTRP1  (0xE0)\r
+#define ST7735_GMCTRN1  (0xE1)\r
+\r
+/* delay for delay counter */\r
+#define DELAY_TIMING    (0x08)\r
+\r
+/***********************************************************************************************************************\r
+* Function Prototypes\r
+***********************************************************************************************************************/\r
+/* Initialises the debug LCD */\r
+void lcd_init (void);\r
+\r
+/* Display string at specific line of display */\r
+void display_lcd (uint8_t const line, uint8_t const column, uint8_t const * string);\r
+\r
+/* Display the string at current cursor position */\r
+void display_str (uint8_t const * str);\r
+\r
+/* Display the sting at the centre of the specified line */\r
+void display_center (uint8_t const line_num, uint8_t * const str);\r
+\r
+/* Clears the display */\r
+void clear_display (uint16_t colour);\r
+\r
+/* Clear a specified line */\r
+void display_clear_line(uint8_t line_num);\r
+\r
+/* Set the current cursor position */\r
+void display_set_cursor (uint8_t const x, uint8_t const y);\r
+\r
+/* Delay function */\r
+void display_delay_us (uint32_t time_us);\r
+void display_delay_ms (uint32_t time_ms);\r
+\r
+/* Set Font colour */\r
+void display_set_font_colour (uint16_t const col);\r
+\r
+/* Set Background colour */\r
+void display_set_back_colour (uint16_t const col);\r
+\r
+/* Simple image blit */\r
+void display_image (uint8_t *image, uint8_t image_width,\r
+                                uint8_t image_height, uint8_t loc_x, uint8_t loc_y);\r
+\r
+/* Enable display */\r
+void display_on (void);\r
+\r
+/* Disable display */\r
+void display_off (void);\r
+\r
+\r
+/* LCD_PMOD_H */\r
+#endif\r
+\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/logo_data.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/logo_data.h
new file mode 100644 (file)
index 0000000..3971e89
--- /dev/null
@@ -0,0 +1,44 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/******************************************************************************\r
+* File Name     : logo_data.h\r
+* Device(s)     : RZ/A1H (R7S910018)\r
+* Tool-Chain    : GNUARM-NONEv14.02-EABI\r
+* H/W Platform  : RSK+T1 CPU Board\r
+* Description   : Renesas Logo 128*24 pixels\r
+******************************************************************************/\r
+/***********************************************************************************************************************\r
+* History       : DD.MM.YYYY Version Description\r
+*               : 21.10.2014 1.00\r
+***********************************************************************************************************************/\r
+\r
+/* Multiple inclusion prevention macro */\r
+#ifndef LOGO_DATA_H\r
+#define LOGO_DATA_H\r
+\r
+/* Declare the image data section */\r
+extern const uint8_t g_rgb888_logo[];\r
+\r
+/* LOGO_DATA_H */\r
+#endif\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_atcm_init.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_atcm_init.h
new file mode 100644 (file)
index 0000000..f202d47
--- /dev/null
@@ -0,0 +1,64 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 Init program\r
+* File Name    : r_atcm.h\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : API for ATCM function\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : ATCM access wait setting API of RZ/T1\r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+#ifndef _R_ATCM_HEADER_\r
+#define _R_ATCM_HEADER_\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#define ATCM_WAIT_1_OPT (0)\r
+#define ATCM_WAIT_1     (1)\r
+#define ATCM_WAIT_0     (2)\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Exported global variables and functions (to be accessed by other files)\r
+***********************************************************************************************************************/\r
+void R_ATCM_WaitSet(uint32_t atcm_wait);\r
+\r
+\r
+#endif\r
+\r
+/* End of File */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_bsc.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_bsc.h
new file mode 100644 (file)
index 0000000..998216c
--- /dev/null
@@ -0,0 +1,186 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 Init program\r
+* File Name    : r_bsc.h\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : Definitions for BSC functions\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : BSC setting API of RZ/T1\r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+#ifndef _R_BSC_HEADER_\r
+#define _R_BSC_HEADER_\r
+\r
+/***********************************************************************************************************************\r
+Includes <System Includes> , "Project Includes"\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#define BSC_IDLE_CYCLE_0  (0)\r
+#define BSC_IDLE_CYCLE_1  (1)\r
+#define BSC_IDLE_CYCLE_2  (2)\r
+#define BSC_IDLE_CYCLE_4  (3)\r
+#define BSC_IDLE_CYCLE_6  (4)\r
+#define BSC_IDLE_CYCLE_8  (5)\r
+#define BSC_IDLE_CYCLE_10 (6)\r
+#define BSC_IDLE_CYCLE_12 (7)\r
+\r
+#define BSC_TYPE_NORMAL          (0)\r
+#define BSC_TYPE_BURST_ROM_ASYNC (1)\r
+#define BSC_TYPE_MPX_IO          (2)\r
+#define BSC_TYPE_SRAM_BYTE       (3)\r
+#define BSC_TYPE_SDRAM           (4)\r
+#define BSC_TYPE_BURST_ROM_SYNC  (7)\r
+\r
+#define BSC_WIDTH_8_BIT  (1)\r
+#define BSC_WIDTH_16_BIT (2)\r
+#define BSC_WIDTH_32_BIT (3)\r
+\r
+#define BSC_DELAY_STATE_CYCLE_0_5 (0)\r
+#define BSC_DELAY_STATE_CYCLE_1_5 (1)\r
+#define BSC_DELAY_STATE_CYCLE_2_5 (2)\r
+#define BSC_DELAY_STATE_CYCLE_3_5 (3)\r
+\r
+#define BSC_EXT_WAIT_VALID   (0)\r
+#define BSC_EXT_WAIT_IGNORED (1)\r
+\r
+#define BSC_ACCESS_WAIT_0  (0)\r
+#define BSC_ACCESS_WAIT_1  (1)\r
+#define BSC_ACCESS_WAIT_2  (2)\r
+#define BSC_ACCESS_WAIT_3  (3)\r
+#define BSC_ACCESS_WAIT_4  (4)\r
+#define BSC_ACCESS_WAIT_5  (5)\r
+#define BSC_ACCESS_WAIT_6  (6)\r
+#define BSC_ACCESS_WAIT_8  (7)\r
+#define BSC_ACCESS_WAIT_10 (8)\r
+#define BSC_ACCESS_WAIT_12 (9)\r
+#define BSC_ACCESS_WAIT_14 (10)\r
+#define BSC_ACCESS_WAIT_18 (11)\r
+#define BSC_ACCESS_WAIT_24 (12)\r
+\r
+#define BSC_WRITE_ACCESS_WAIT_SAME (0)\r
+#define BSC_WRITE_ACCESS_WAIT_0    (1)\r
+#define BSC_WRITE_ACCESS_WAIT_1    (2)\r
+#define BSC_WRITE_ACCESS_WAIT_2    (3)\r
+#define BSC_WRITE_ACCESS_WAIT_3    (4)\r
+#define BSC_WRITE_ACCESS_WAIT_4    (5)\r
+#define BSC_WRITE_ACCESS_WAIT_5    (6)\r
+#define BSC_WRITE_ACCESS_WAIT_6    (7)\r
+\r
+#define BSC_BYTE_ENABLE_RD_WR (0)\r
+#define BSC_BYTE_ENABLE_WE    (1)\r
+\r
+#define BSC_CAS_LATENCY_1 (0)\r
+#define BSC_CAS_LATENCY_2 (1)\r
+#define BSC_CAS_LATENCY_3 (2)\r
+#define BSC_CAS_LATENCY_4 (3)\r
+\r
+#define BSC_WTRC_IDLE_2 (0)\r
+#define BSC_WTRC_IDLE_3 (1)\r
+#define BSC_WTRC_IDLE_5 (2)\r
+#define BSC_WTRC_IDLE_8 (3)\r
+\r
+#define BSC_TRWL_CYCLE_0 (0)\r
+#define BSC_TRWL_CYCLE_1 (1)\r
+#define BSC_TRWL_CYCLE_2 (2)\r
+#define BSC_TRWL_CYCLE_3 (3)\r
+\r
+#define BSC_PRECHARGE_0 (0x00000000)\r
+#define BSC_PRECHARGE_1 (0x00000008)\r
+#define BSC_PRECHARGE_2 (0x00000010)\r
+#define BSC_PRECHARGE_3 (0x00000018)\r
+\r
+#define BSC_WTRCD_WAIT_0 (0) \r
+#define BSC_WTRCD_WAIT_1 (1)\r
+#define BSC_WTRCD_WAIT_2 (2)\r
+#define BSC_WTRCD_WAIT_3 (3)\r
+\r
+#define BSC_WTRP_WAIT_0 (0) \r
+#define BSC_WTRP_WAIT_1 (1)\r
+#define BSC_WTRP_WAIT_2 (2)\r
+#define BSC_WTRP_WAIT_3 (3)\r
+\r
+#define BSC_ROW_11_BIT (0)\r
+#define BSC_ROW_12_BIT (1)\r
+#define BSC_ROW_13_BIT (2)\r
+\r
+#define BSC_COL_8_BIT  (0)\r
+#define BSC_COL_9_BIT  (1)\r
+#define BSC_COL_10_BIT (2)\r
+\r
+#define BSC_BACTV_AUTO (0)\r
+#define BSC_BACTV_BANK (1)\r
+\r
+#define BSC_PDOWN_INVALID (0)\r
+#define BSC_PDOWN_VALID   (1)\r
+\r
+#define BSC_RMODE_AUTO (0)\r
+#define BSC_RMODE_SELF (1)\r
+\r
+#define BSC_RFSH_NONE (0)\r
+#define BSC_RFSH_DONE (1)\r
+\r
+#define BSC_DEEP_SELF (0)\r
+#define BSC_DEEP_DEEP (1)\r
+\r
+#define BSC_PROTECT_KEY (0xA55A0000)\r
+\r
+#define BSC_RFSH_TIME_1 (0)\r
+#define BSC_RFSH_TIME_2 (1)\r
+#define BSC_RFSH_TIME_4 (2)\r
+#define BSC_RFSH_TIME_6 (3)\r
+#define BSC_RFSH_TIME_8 (4)\r
+\r
+#define BSC_CKS_DIV_STOP (0x00000000)\r
+#define BSC_CKS_DIV_4    (0x00000008)\r
+#define BSC_CKS_DIV_16   (0x00000010)\r
+#define BSC_CKS_DIV_64   (0x00000018)\r
+#define BSC_CKS_DIV_256  (0x00000020)\r
+#define BSC_CKS_DIV_1024 (0x00000028)\r
+#define BSC_CKS_DIV_2048 (0x00000030)\r
+#define BSC_CKS_DIV_4096 (0x00000038)\r
+\r
+#define BSC_CMIE_DISABLE (0x00000000)\r
+#define BSC_CMIE_ENABLE  (0x00000040)\r
+\r
+/***********************************************************************************************************************\r
+Exported global variables and functions (to be accessed by other files)\r
+***********************************************************************************************************************/\r
+\r
+\r
+\r
+#endif\r
+\r
+/* End of File */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_ram_init.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_ram_init.h
new file mode 100644 (file)
index 0000000..29e920b
--- /dev/null
@@ -0,0 +1,64 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 Init program\r
+* File Name    : r_ram.h\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : API for internal extended RAM function\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : Internal extended RAM setting API of RZ/T1\r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+#ifndef _R_RAM_HEADER_\r
+#define _R_RAM_HEADER_\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Exported global variables and functions (to be accessed by other files)\r
+***********************************************************************************************************************/\r
+void R_RAM_Init(void);\r
+void R_RAM_ECCEnable(void);\r
+void R_RAM_WriteEnable(void);\r
+void R_RAM_WriteDisable(void);\r
+\r
+#endif\r
+\r
+/* End of File */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_reset.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_reset.h
new file mode 100644 (file)
index 0000000..78d6c05
--- /dev/null
@@ -0,0 +1,62 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 Init program\r
+* File Name    : r_reset.h\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : API for reset function\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : Reset function API of RZ/T1\r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+#ifndef _R_RESET_HEADER_\r
+#define _R_RESET_HEADER_\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#define RST_SOURCE_RES  (0x00000002)\r
+#define RST_SOURCE_ECM  (0x00000004)\r
+#define RST_SOURCE_SWR1 (0x00000008)\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/* RESET and Low-Power function registers access control */\r
+void r_rst_write_enable(void);\r
+void r_rst_write_disable(void);\r
+\r
+#endif\r
+\r
+/* End of File */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_system.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_system.h
new file mode 100644 (file)
index 0000000..d08bac6
--- /dev/null
@@ -0,0 +1,116 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* System Name  : RZ/T1 Init program\r
+* File Name    : r_system.h\r
+* Version      : 0.1\r
+* Device       : R7S910018\r
+* Abstract     : Definitions for System\r
+* Tool-Chain   : GNUARM-NONEv14.02-EABI\r
+* OS           : not use\r
+* H/W Platform : Renesas Starter Kit for RZ/T1(Preliminary)\r
+* Description  : Define the system settings ans value.\r
+* Limitation   : none\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History      : DD.MM.YYYY Version  Description\r
+*              : 21.05.2015 1.00     First Release\r
+***********************************************************************************************************************/\r
+\r
+#ifndef _R_SYSTEM_HEADER_\r
+#define _R_SYSTEM_HEADER_\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+\r
+#define MSTP_CMTW1      SYSTEM.MSTPCRA.BIT.MSTPCRA0\r
+#define MSTP_CMTW0      SYSTEM.MSTPCRA.BIT.MSTPCRA1\r
+#define MSTP_CMT2       SYSTEM.MSTPCRA.BIT.MSTPCRA2\r
+#define MSTP_CMT1       SYSTEM.MSTPCRA.BIT.MSTPCRA3\r
+#define MSTP_CMT0       SYSTEM.MSTPCRA.BIT.MSTPCRA4\r
+#define MSTP_PPG1       SYSTEM.MSTPCRA.BIT.MSTPCRA5\r
+#define MSTP_PPG0       SYSTEM.MSTPCRA.BIT.MSTPCRA6\r
+#define MSTP_TPU1       SYSTEM.MSTPCRA.BIT.MSTPCRA7\r
+#define MSTP_TPU0       SYSTEM.MSTPCRA.BIT.MSTPCRA8\r
+#define MSTP_GPTA       SYSTEM.MSTPCRA.BIT.MSTPCRA9\r
+#define MSTP_MTU3       SYSTEM.MSTPCRA.BIT.MSTPCRA11\r
+\r
+#define MSTP_RSCAN      SYSTEM.MSTPCRB.BIT.MSTPCRB1\r
+#define MSTP_RIIC1      SYSTEM.MSTPCRB.BIT.MSTPCRB2\r
+#define MSTP_RIIC0      SYSTEM.MSTPCRB.BIT.MSTPCRB3\r
+#define MSTP_SCIFA4     SYSTEM.MSTPCRB.BIT.MSTPCRB5\r
+#define MSTP_SCIFA3     SYSTEM.MSTPCRB.BIT.MSTPCRB6\r
+#define MSTP_SCIFA2     SYSTEM.MSTPCRB.BIT.MSTPCRB7\r
+#define MSTP_SCIFA1     SYSTEM.MSTPCRB.BIT.MSTPCRB8\r
+#define MSTP_SCIFA0     SYSTEM.MSTPCRB.BIT.MSTPCRB9\r
+#define MSTP_RSPI3      SYSTEM.MSTPCRB.BIT.MSTPCRB10\r
+#define MSTP_RSPI2      SYSTEM.MSTPCRB.BIT.MSTPCRB11\r
+#define MSTP_RSPI1      SYSTEM.MSTPCRB.BIT.MSTPCRB12\r
+#define MSTP_RSPI0      SYSTEM.MSTPCRB.BIT.MSTPCRB13\r
+#define MSTP_ETHERSW    SYSTEM.MSTPCRB.BIT.MSTPCRB14\r
+#define MSTP_ECATC      SYSTEM.MSTPCRB.BIT.MSTPCRB15\r
+#define MSTP_EMDIO      SYSTEM.MSTPCRB.BIT.MSTPCRB16\r
+#define MSTP_ERMII      SYSTEM.MSTPCRB.BIT.MSTPCRB17\r
+#define MSTP_HWRTOS     SYSTEM.MSTPCRB.BIT.MSTPCRB18\r
+#define MSTP_CLKOUT25M  SYSTEM.MSTPCRB.BIT.MSTPCRB19\r
+\r
+#define MSTP_USB        SYSTEM.MSTPCRC.BIT.MSTPCRC1\r
+#define MSTP_DSMIF      SYSTEM.MSTPCRC.BIT.MSTPCRC2\r
+#define MSTP_TEMPS      SYSTEM.MSTPCRC.BIT.MSTPCRC3\r
+#define MSTP_S12ADC1    SYSTEM.MSTPCRC.BIT.MSTPCRC4\r
+#define MSTP_S12ADC0    SYSTEM.MSTPCRC.BIT.MSTPCRC5\r
+#define MSTP_ELC        SYSTEM.MSTPCRC.BIT.MSTPCRC6\r
+#define MSTP_BSC        SYSTEM.MSTPCRC.BIT.MSTPCRC7\r
+#define MSTP_CKIO       SYSTEM.MSTPCRC.BIT.MSTPCRC8\r
+#define MSTP_SPIBSC     SYSTEM.MSTPCRC.BIT.MSTPCRC9\r
+#define MSTP_DOC        SYSTEM.MSTPCRC.BIT.MSTPCRC10\r
+#define MSTP_CRC        SYSTEM.MSTPCRC.BIT.MSTPCRC11\r
+#define MSTP_CLMA2      SYSTEM.MSTPCRC.BIT.MSTPCRC12\r
+#define MSTP_CLMA1      SYSTEM.MSTPCRC.BIT.MSTPCRC13\r
+#define MSTP_CLMA0      SYSTEM.MSTPCRC.BIT.MSTPCRC14\r
+\r
+#define MSTP_SSI        SYSTEM.MSTPCRD.BIT.MSTPCRD2\r
+\r
+#define MSTP_DMAC1      SYSTEM.MSTPCRE.BIT.MSTPCRE4\r
+#define MSTP_DMAC0      SYSTEM.MSTPCRE.BIT.MSTPCRE5\r
+\r
+#define MSTP_CORESIGHT  SYSTEM.MSTPCRF.BIT.MSTPCRF0\r
+\r
+#define        __MSTP( x )             MSTP ## x\r
+#define         _MSTP( x )             __MSTP( x )\r
+#define          MSTP( x )             _MSTP( _ ## x )\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Exported global variables and functions (to be accessed by other files)\r
+***********************************************************************************************************************/\r
+\r
+/* End _R_SYSTEM_HEADER_ */\r
+#endif\r
+\r
+/* End of File */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_typedefs.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/r_typedefs.h
new file mode 100644 (file)
index 0000000..f9cc713
--- /dev/null
@@ -0,0 +1,87 @@
+/***********************************************************************************************************************
+* 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) 2014 Renesas Electronics Corporation. All rights reserved.
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* File Name     : r_typedefs.h
+* Device(s)     : RZ/A1H (R7S910018)
+* Tool-Chain    : GNUARM-NONEv14.02-EABI
+* H/W Platform  : RSK+T1 CPU Board
+* Description   : basic type definition
+***********************************************************************************************************************/
+/***********************************************************************************************************************
+* History       : DD.MM.YYYY Version Description
+*               : 21.10.2014 1.00
+***********************************************************************************************************************/
+
+
+/***********************************************************************************************************************
+Includes <System Includes> , "Project Includes"
+***********************************************************************************************************************/
+#include <stdint.h>
+/* Multiple inclusion prevention macro */
+#ifndef R_TYPEDEFS_H
+#define R_TYPEDEFS_H
+
+
+/* in case <stdio.h> has defined it. */
+#ifndef     NULL
+#define     NULL        (0)
+#endif
+
+/***********************************************************************************************************************
+Macro definitions
+***********************************************************************************************************************/
+#if !defined(__bool_true_false_are_defined) && !defined(__cplusplus)
+
+#define     FALSE       (0)
+#define     TRUE        (1)
+
+#endif
+
+/* These two macros are used to suppress warnings generated by unused variables.
+   Writing to some registers require a read instruction following the write.
+   A dummy variable is declared and used to read the register written to. */
+#define     UNUSED_PARAM(param)             ((void)(param))
+#define     UNUSED_VARIABLE(param)          ((void)(param))
+
+/***********************************************************************************************************************
+Typedef definitions
+***********************************************************************************************************************/
+typedef char                char_t;
+typedef unsigned int        bool_t;
+typedef int                 int_t;
+typedef signed char         int8_t;
+typedef signed short        int16_t;
+typedef signed long         int32_t;
+typedef signed long long    int64_t;
+typedef unsigned char       uint8_t;
+typedef unsigned short      uint16_t;
+typedef unsigned long       uint32_t;
+typedef unsigned long long  uint64_t;
+typedef float               float32_t;
+typedef double              float64_t;
+typedef long double         float128_t;
+
+/* R_TYPEDEFS_H */
+#endif
+
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/siochar.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/inc/siochar.h
new file mode 100644 (file)
index 0000000..2f603bf
--- /dev/null
@@ -0,0 +1,57 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only\r
+* intended for use with Renesas products. No other uses are authorized. This\r
+* software is owned by Renesas Electronics Corporation and is protected under\r
+* all applicable laws, including copyright laws.\r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING\r
+* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT\r
+* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE\r
+* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.\r
+* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS\r
+* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE\r
+* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR\r
+* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE\r
+* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software\r
+* and to discontinue the availability of this software. By using this software,\r
+* you agree to the additional terms and conditions found by accessing the\r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* File Name     : siochar.h\r
+* Device(s)     : RZ/A1H (R7S910018)\r
+* Tool-Chain    : GNUARM-NONEv14.02-EABI\r
+* H/W Platform  : RSK+T1 CPU Board\r
+* Description   : Sample Program - Terminal I/O header file\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* History       : DD.MM.YYYY Version Description\r
+*               : 21.10.2014 1.00\r
+***********************************************************************************************************************/\r
+\r
+/* Multiple inclusion prevention macro */\r
+#ifndef SIO_CHAR_H\r
+#define SIO_CHAR_H\r
+\r
+/***********************************************************************************************************************\r
+Includes   <System Includes> , "Project Includes"\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Functions Prototypes\r
+***********************************************************************************************************************/\r
+int32_t sio_write (int32_t file_no, const char * buffer, uint32_t writing_b);\r
+int32_t sio_read (int32_t file_no, char * buffer, uint32_t reading_b);\r
+\r
+void    io_init_scifa2 (void);\r
+char    io_get_char (void);\r
+void    io_put_char (char buffer);\r
+\r
+/* SIO_CHAR_H */\r
+#endif  \r
+\r
+/* End of File */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/makefile.init b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/makefile.init
new file mode 100644 (file)
index 0000000..9f2d24f
--- /dev/null
@@ -0,0 +1,5 @@
+################################################################################\r
+# Automatically-generated file. Do not edit!\r
+################################################################################\r
+\r
+PATH := $(PATH):C:\PROGRA~2\KPIT\GNUARM~1.02-\ARM-NO~1\ARM-NO~1\bin;C:\PROGRA~2\KPIT\GNUARM~1.02-\ARM-NO~1\ARM-NO~1\libexec\gcc\arm-none-eabi\4.9-GNUARM-NONE_v14.02
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cgc.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cgc.c
new file mode 100644 (file)
index 0000000..d88bae0
--- /dev/null
@@ -0,0 +1,212 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_cgc.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for CGC module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_cgc.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+#include "r_reset.h"\r
+#include "r_system.h"\r
+#include "r_typedefs.h"\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+\r
+#define CPG_WRITE_ENABLE        (0x0000A501)\r
+#define CPG_WRITE_DISABLE       (0x0000A500)\r
+  \r
+#define CPG_CMT0_CLOCK_PCLKD_32 (1)\r
+#define CPG_CMT0_CMI0_ENABLE    (1)\r
+#define CPG_CMT0_CONST_100_US   (0xEA)\r
+#define CPG_CMT0_START          (1)\r
+#define CPG_CMT0_STOP           (0)\r
+\r
+#define CPG_CMT_REG_CLEAR       (0x0000)\r
+\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_CGC_Create\r
+* Description  : This function initializes the clock generator.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_CGC_Create(void)\r
+{\r
+    uint16_t w_count;\r
+\r
+    /* LOCO circuit disable */\r
+    SYSTEM.LOCOCR.BIT.LCSTP = 1U;\r
+\r
+    /* Systen clock control register setting */\r
+    SYSTEM.SCKCR.LONG = _CGC_CKIO_0 | _CGC_TCLK_0 | _CGC_PCLKE_0 | _CGC_PCLKF_0 | _CGC_PCLKG_0 | _CGC_SERICLK_0 | \r
+                        _CGC_ETCKE_0 | _CGC_ETCKD_0;\r
+\r
+    /* Set the CPU frequency for PLL1 */\r
+    SYSTEM.PLL1CR.BIT.CPUCKSEL = _CGC_PLL1_CPUCKSEL_600;\r
+\r
+    /* PLL1 circuit enable */\r
+    SYSTEM.PLL1CR2.BIT.PLL1EN = 1U;\r
+\r
+    /* Wait 100us for PLL1 stabilization */\r
+    for (w_count = 0U; w_count < _CGC_PLL_WAIT_CYCLE; w_count++)\r
+    {\r
+        nop();\r
+    }\r
+\r
+    /* Set system clock register 2 to PLL1 */\r
+    SYSTEM.SCKCR2.BIT.CKSEL0 = 1U;\r
+\r
+    /* Delta-sigma interface operation setting, DSCLK0 and DSCLK1 both in master mode */\r
+    SYSTEM.DSCR.LONG = _CGC_DSSEL0_MASTER | _CGC_DSCLK0_0 | _CGC_DSSEL1_MASTER | _CGC_DSCLK1_0;\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : R_CPG_WriteEnable\r
+* Description   : Enables writing to the registers related to CPG function.\r
+*                 And dummy read the register in order to fix the register value.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void R_CPG_WriteEnable(void)\r
+{\r
+    volatile uint32_t dummy = 0;\r
+\r
+    UNUSED_VARIABLE(dummy);\r
+  \r
+    /* Enables writing to the CPG register */\r
+    SYSTEM.PRCR.LONG = CPG_WRITE_ENABLE;\r
+    dummy = SYSTEM.PRCR.LONG;\r
+    \r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function R_CPG_WriteEnable\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : R_CPG_WriteDisable\r
+* Description   : Disables writing to the registers related to CPG function.\r
+*                 And dummy read the register in order to fix the register value.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void R_CPG_WriteDisable(void)\r
+{\r
+    volatile uint32_t dummy = 0;\r
+\r
+    UNUSED_VARIABLE(dummy);\r
+  \r
+    /* Disables writing to the CPG register */\r
+    SYSTEM.PRCR.LONG = CPG_WRITE_DISABLE;\r
+    dummy = SYSTEM.PRCR.LONG;\r
+    \r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function R_CPG_WriteDisable\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : R_CPG_PLLWait\r
+* Description   : Wait about 100us for PLL stabilisation by using CMT0\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void R_CPG_PLLWait(void)\r
+{\r
+  \r
+    /* Enables writing to the registers related to Reset and Low-Power function */\r
+    r_rst_write_enable();\r
+    \r
+    /* Release from the CMT0 module-stop state  */\r
+    MSTP(CMT0) = 0;\r
+    \r
+    /* Disables writing to the registers related to Reset and Low-Power function */\r
+    r_rst_write_disable();\r
+   \r
+    /* Set CMT0 to 100us interval operation */\r
+    CMT0.CMCR.BIT.CKS = CPG_CMT0_CLOCK_PCLKD_32;  \r
+    CMT0.CMCR.BIT.CMIE = CPG_CMT0_CMI0_ENABLE;    \r
+    CMT0.CMCNT = CPG_CMT_REG_CLEAR;              \r
+    CMT0.CMCOR = CPG_CMT0_CONST_100_US;\r
+    \r
+    /* Set IRQ21(CMI0) for polling sequence */\r
+    VIC.IEC0.BIT.IEC21 = 1U;\r
+    VIC.PLS0.BIT.PLS21 = 1U;\r
+    VIC.PIC0.BIT.PIC21 = 1U;\r
+    \r
+    /* Start CMT0 count */\r
+    CMT.CMSTR0.BIT.STR0 = CPG_CMT0_START;\r
+\r
+    /* Wait for 100us (IRQ21 is generated) */\r
+    while ( !(VIC.RAIS0.BIT.RAI21) )\r
+    {\r
+        /* Wait */  \r
+    }\r
+        \r
+    /* Stop CMT0 count */\r
+    CMT.CMSTR0.BIT.STR0 = CPG_CMT0_STOP;\r
+    \r
+    /* Initialise CMT0 settings and clear interrupt detection edge */\r
+    CMT0.CMCR.WORD = CPG_CMT_REG_CLEAR;\r
+    CMT0.CMCNT = CPG_CMT_REG_CLEAR;\r
+    CMT0.CMCOR = CPG_CMT_REG_CLEAR;\r
+    CMT.CMSTR0.WORD = CPG_CMT_REG_CLEAR;\r
+    \r
+    VIC.PIC0.BIT.PIC21 = 1U;\r
+    \r
+    /* Enables writing to the registers related to Reset and Low-Power function */\r
+    r_rst_write_enable();\r
+    \r
+    /* Set CMT0 to module-stop state */\r
+    MSTP(CMT0) = 1;\r
+    \r
+    /* Disables writing to the registers related to Reset and Low-Power function */\r
+    r_rst_write_disable();\r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function R_CPG_PLLWait\r
+***********************************************************************************************************************/\r
+\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cgc.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cgc.h
new file mode 100644 (file)
index 0000000..b70f13a
--- /dev/null
@@ -0,0 +1,203 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_cgc.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for CGC module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef CGC_H\r
+#define CGC_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+/*\r
+    System Clock Control Register (SCKCR)\r
+*/\r
+/* Peripheral Module Clock G (PCLKG) */\r
+#define _CGC_PCLKG_0                  (0x00000000UL) /* 60 MHz */\r
+#define _CGC_PCLKG_1                  (0x00000001UL) /* 30 MHz */\r
+#define _CGC_PCLKG_2                  (0x00000002UL) /* 15 MHz */\r
+#define _CGC_PCLKG_3                  (0x00000003UL) /* 7.5 MHz */\r
+/* Peripheral Module Clock F (PCLKF) */\r
+#define _CGC_PCLKF_0                  (0x00000000UL) /* 60 MHz */\r
+#define _CGC_PCLKF_1                  (0x00000004UL) /* 30 MHz */\r
+#define _CGC_PCLKF_2                  (0x00000008UL) /* 15 MHz */\r
+#define _CGC_PCLKF_3                  (0x0000000CUL) /* 7.5 MHz */\r
+/* Peripheral Module Clock E (PCLKE) */\r
+#define _CGC_PCLKE_0                  (0x00000000UL) /* 75 MHz */\r
+#define _CGC_PCLKE_1                  (0x00000010UL) /* 37.5 MHz */\r
+#define _CGC_PCLKE_2                  (0x00000020UL) /* 18.75 MHz */\r
+/* External Bus Clock (CKIO) */\r
+#define _CGC_CKIO_0                   (0x00000000UL) /* 75 MHz */\r
+#define _CGC_CKIO_1                   (0x00000100UL) /* 50 MHz */\r
+#define _CGC_CKIO_2                   (0x00000200UL) /* 37.5 MHz */\r
+#define _CGC_CKIO_3                   (0x00000300UL) /* 30 MHz */\r
+#define _CGC_CKIO_4                   (0x00000400UL) /* 25 MHz */\r
+#define _CGC_CKIO_5                   (0x00000500UL) /* 21.43 MHz */\r
+#define _CGC_CKIO_6                   (0x00000600UL) /* 18.75 MHz */\r
+/* Ether Clock E  (ETCLKE) */\r
+#define _CGC_ETCKE_0                  (0x00000000UL) /* 25 MHz */\r
+#define _CGC_ETCKE_1                  (0x00001000UL) /* 50 MHz */\r
+#define _CGC_ETCKE_2                  (0x00003000UL) /* 25 MHz */\r
+/* Ether Clock D  (ETCLKD) */\r
+#define _CGC_ETCKD_0                  (0x00000000UL) /* 12.5 MHz */\r
+#define _CGC_ETCKD_1                  (0x00004000UL) /* 6.25 MHz */\r
+#define _CGC_ETCKD_2                  (0x00008000UL) /* 3.125 MHz */\r
+#define _CGC_ETCKD_3                  (0x0000C000UL) /* 1.563 MHz */\r
+/* High-Speed Serial Clock (SERICLK) */\r
+#define _CGC_SERICLK_0                (0x00000000UL) /* 150 MHz */\r
+#define _CGC_SERICLK_1                (0x00010000UL) /* 120 MHz */\r
+/* USB Clock (USBMCLK) */\r
+#define _CGC_UCK_0                    (0x00000000UL) /* 50 MHz */\r
+#define _CGC_UCK_1                    (0x00020000UL) /* 24 MHz */\r
+/* Trace Interface Clock (TCLK) */\r
+#define _CGC_TCLK_0                   (0x00000000UL) /* 150 MHz */\r
+#define _CGC_TCLK_1                   (0x00100000UL) /* 75 MHz */\r
+\r
+/*\r
+    System Clock Control Register 2 (SCKCR2)\r
+*/\r
+#define _CGC_SKSEL0_PLL0              (0x00000000UL) /* PLL0 */\r
+#define _CGC_SKSEL0_PLL1              (0x00000001UL) /* PLL1 */\r
+\r
+/*\r
+    Delta-Sigma Interface Clock Control Register (DSCR)\r
+*/\r
+#define _CGC_DSSEL0_SLAVE             (0x00000000UL) /* Supplied from outside the LSI (slave operation) */\r
+#define _CGC_DSSEL0_MASTER            (0x00000001UL) /* Supplied from CGC (master operation) */\r
+#define _CGC_DSCLK0_0                 (0x00000000UL) /* 25 MHz */\r
+#define _CGC_DSCLK0_1                 (0x00000002UL) /* 18.75 MHz */\r
+#define _CGC_DSCLK0_2                 (0x00000004UL) /* 12.5 MHz */\r
+#define _CGC_DSCLK0_3                 (0x00000006UL) /* 9.375 MHz */\r
+#define _CGC_DSCLK0_4                 (0x00000008UL) /* 6.25 MHz */\r
+#define _CGC_DSCLK0_POL_NORMAL        (0x00000000UL) /* Polarity not inverted (master and slave operation) */\r
+#define _CGC_DSCLK0_POL_INVERT        (0x00000010UL) /* Polarity inverted (master and slave operation) */\r
+#define _CGC_DSCLK0_SLAVE_MCLK0_2     (0x00000000UL) /* Clock input to MCLK0,MCLK1,MCLK2 pins are used */\r
+#define _CGC_DSCLK0_SLAVE_MCLK0       (0x00000020UL) /* Clock input to MCLK0 pin is used */\r
+#define _CGC_DSSEL1_SLAVE             (0x00000000UL) /* Supplied from outside the LSI (slave operation) */\r
+#define _CGC_DSSEL1_MASTER            (0x00010000UL) /* Supplied from CGC (master operation) */\r
+#define _CGC_DSCLK1_0                 (0x00000000UL) /* 25 MHz */\r
+#define _CGC_DSCLK1_1                 (0x00020000UL) /* 18.75 MHz */\r
+#define _CGC_DSCLK1_2                 (0x00040000UL) /* 12.5 MHz */\r
+#define _CGC_DSCLK1_3                 (0x00060000UL) /* 9.375 MHz */\r
+#define _CGC_DSCLK1_4                 (0x00080000UL) /* 6.25 MHz */\r
+#define _CGC_DSCLK1_POL_NORMAL        (0x00000000UL) /* Polarity not inverted (master and slave operation) */\r
+#define _CGC_DSCLK1_POL_INVERT        (0x00100000UL) /* Polarity inverted (master and slave operation) */\r
+\r
+/*\r
+    PLL1 Control Register (PLL1CR)\r
+*/\r
+#define _CGC_PLL1_CPUCKSEL_150        (0x00U) /* 150 MHz */\r
+#define _CGC_PLL1_CPUCKSEL_300        (0x01U) /* 300 MHz */\r
+#define _CGC_PLL1_CPUCKSEL_450        (0x02U) /* 450 MHz */\r
+#define _CGC_PLL1_CPUCKSEL_600        (0x03U) /* 600 MHz */\r
+\r
+/*\r
+    PLL1 Control Register 2 (PLL1CR2)\r
+*/\r
+#define _CGC_PLL1_DISABLE             (0x00000000UL) /* PLL1 stops */\r
+#define _CGC_PLL1_ENABLE              (0x00000001UL) /* PLL1 runs */\r
+\r
+/*\r
+    Low-Speed On-Chip Oscillator Control Register (LOCOCR)\r
+*/\r
+#define _CGC_LOCO_RUN                 (0x00000000UL) /* LOCO Run */\r
+#define _CGC_LOCO_STOP                (0x00000001UL) /* LOCO Stop */\r
+\r
+/*\r
+    Oscillation Stop Detection Control Register (OSTDCR)\r
+*/\r
+/* Oscillation Stop Detection Interrupt Enable (OSTDIE) */\r
+#define _CGC_OSC_STOP_DET_INT_DISABLE (0x00000000UL) /* Stop detection interrupt is disabled */\r
+#define _CGC_OSC_STOP_DET_INT_ENABLE  (0x00000001UL) /* Stop detection interrupt is enabled */\r
+/* Oscillation Stop Detection Function Enable (OSTDE) */\r
+#define _CGC_OSC_STOP_DET_DISABLE     (0x00000000UL) /* Oscillation stop detection function is disabled */\r
+#define _CGC_OSC_STOP_DET_ENABLE      (0x00000080UL) /* Oscillation stop detection function is enabled */\r
+\r
+/*\r
+    ECM Non-maskable Interrupt Configuration Register 0 (ECMNMICFG0)    \r
+*/\r
+#define _ECM_NMI_OSC_STOP_DISABLE     (0x00000000UL) /* Stop detection NMI interrupt is disabled */\r
+#define _ECM_NMI_OSC_STOP_ENABLE      (0x00080000UL) /* Stop detection NMI interrupt is enabled */\r
+\r
+/*\r
+    ECM Maskable Interrupt Configuration Register 0 (ECMMICFG0)\r
+*/\r
+#define _ECM_MI_OSC_STOP_DISABLE      (0x00000000UL) /* Stop detection Maskable interrupt is disabled */\r
+#define _ECM_MI_OSC_STOP_ENABLE       (0x00080000UL) /* Stop detection Maskable interrupt is enabled */\r
+\r
+/*\r
+    Debugging Interface Control Register (DBGIFCNT)\r
+*/\r
+#define _SWV_SEL_NOOUTPUT             (0x00000000UL) /* SWV output is not output */\r
+#define _SWV_SEL_TDO                  (0x00000001UL) /* SWV output is output from the TDO pin */\r
+#define _SWV_SEL_TRACEDATA0           (0x00000002UL) /* SWV output is output from the TRACEDATA0 pin */\r
+#define _SWV_SEL_TRACECTL             (0x00000003UL) /* SWV output is output from the TRACECTL pin */\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#define _CGC_PLL_WAIT_CYCLE           (0x1D4CU) /* Wait 100us when switch clock source in PLL0 and PLL1 */\r
+#define _CGC_LOCO_WAIT_CYCLE          (0x0BB8U) /* Wait 40us for LOCO oscillation stabilization */    \r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+void R_CGC_Create(void);\r
+\r
+/* Start user code for function. Do not edit comment generated here */\r
+\r
+void R_CPG_PLLWait(void);\r
+void R_CPG_WriteEnable(void);\r
+void R_CPG_WriteDisable(void);\r
+\r
+#define CPG_CPUCLK_150_MHz (0)\r
+#define CPG_CPUCLK_300_MHz (1)\r
+#define CPG_CPUCLK_450_MHz (2)\r
+#define CPG_CPUCLK_600_MHz (3)\r
+\r
+#define CPG_PLL1_OFF       (0)\r
+#define CPG_PLL1_ON        (1)\r
+\r
+#define CPG_SELECT_PLL0    (0)\r
+#define CPG_SELECT_PLL1    (1)\r
+\r
+#define CPG_CKIO_75_MHz    (0)\r
+#define CPG_CKIO_50_MHz    (1)\r
+#define CPG_CKIO_37_5_MHz  (2)\r
+#define CPG_CKIO_30_MHz    (3)\r
+#define CPG_CKIO_25_MHz    (4)\r
+#define CPG_CKIO_21_43_MHz (5)\r
+#define CPG_CKIO_18_75_MHz (6)\r
+\r
+#define CPG_LOCO_ENABLE    (0x00000000)\r
+#define CPG_LOCO_DISABLE   (0x00000001)\r
+\r
+/* End user code. Do not edit comment generated here */\r
+#endif
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cgc_user.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cgc_user.c
new file mode 100644 (file)
index 0000000..debe5a2
--- /dev/null
@@ -0,0 +1,52 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_cgc_user.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for CGC module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_cgc.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cmt.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cmt.c
new file mode 100644 (file)
index 0000000..3a51ac0
--- /dev/null
@@ -0,0 +1,162 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_cmt.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for CMT module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_cmt.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_CMT4_Create\r
+* Description  : This function initializes the CMT4 channel.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_CMT4_Create(void)\r
+{\r
+    /* Disable CMI4 interrupt */\r
+    VIC.IEC9.LONG = 0x00000800UL;\r
+\r
+    /* Cancel CMT stop state in LPC */\r
+    MSTP(CMT2) = 0U;\r
+\r
+    /* Set control registers */\r
+    CMT4.CMCR.WORD = _CMT_CMCR_CKS_PCLK8 | _CMT_CMCR_CMIE_ENABLE;\r
+    CMT4.CMCOR = _CMT4_CMCOR_VALUE;\r
+\r
+    /* Set CMI4 edge detection type */\r
+    VIC.PLS9.LONG |= 0x00000800UL;\r
+\r
+    /* Set CMI4 priority level */\r
+    VIC.PRL299.LONG = _CMT_PRIORITY_LEVEL16;\r
+\r
+    /* Set CMI4 interrupt address */\r
+    VIC.VAD299.LONG = (uint32_t)r_cmt_cmi4_interrupt;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_CMT4_Start\r
+* Description  : This function starts the CMT4 channel counter.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_CMT4_Start(void)\r
+{\r
+    /* Enable CMI4 interrupt in ICU */\r
+    VIC.IEN9.LONG |= 0x00000800UL;\r
+\r
+    /* Start CMT4 count */\r
+    CMT.CMSTR2.BIT.STR4 = 1U;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_CMT4_Stop\r
+* Description  : This function stops the CMT4 channel counter.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_CMT4_Stop(void)\r
+{\r
+    /* Disable CMI4 interrupt in ICU */\r
+    VIC.IEC9.LONG = 0x00000800UL;\r
+\r
+    /* Stop CMT4 count */\r
+    CMT.CMSTR2.BIT.STR4 = 0U;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_CMT5_Create\r
+* Description  : This function initializes the CMT5 channel.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_CMT5_Create(void)\r
+{\r
+    /* Disable CMI5 interrupt */\r
+    VIC.IEC9.LONG = 0x00001000UL;\r
+\r
+    /* Cancel CMT stop state in LPC */\r
+    MSTP(CMT2) = 0U;\r
+\r
+    /* Set control registers */\r
+    CMT5.CMCR.WORD = _CMT_CMCR_CKS_PCLK8 | _CMT_CMCR_CMIE_ENABLE;\r
+    CMT5.CMCOR = _CMT5_CMCOR_VALUE;\r
+\r
+    /* Set CMI5 edge detection type */\r
+    VIC.PLS9.LONG |= 0x00001000UL;\r
+\r
+    /* Set CMI5 priority level */\r
+    VIC.PRL300.LONG = _CMT_PRIORITY_LEVEL17;\r
+\r
+    /* Set CMI5 interrupt address */\r
+    VIC.VAD300.LONG = (uint32_t)r_cmt_cmi5_interrupt;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_CMT5_Start\r
+* Description  : This function starts the CMT5 channel counter.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_CMT5_Start(void)\r
+{\r
+    /* Enable CMI5 interrupt in ICU */\r
+    VIC.IEN9.LONG |= 0x00001000UL;\r
+\r
+    /* Start CMT5 count */\r
+    CMT.CMSTR2.BIT.STR5 = 1U;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_CMT5_Stop\r
+* Description  : This function stops the CMT5 channel counter.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_CMT5_Stop(void)\r
+{\r
+    /* Disable CMI5 interrupt in ICU */\r
+    VIC.IEC9.LONG = 0x00001000UL;\r
+\r
+    /* Stop CMT5 count */\r
+    CMT.CMSTR2.BIT.STR5 = 0U;\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cmt.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cmt.h
new file mode 100644 (file)
index 0000000..c2e4568
--- /dev/null
@@ -0,0 +1,112 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_cmt.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for CMT module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef CMT_H\r
+#define CMT_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+/*\r
+    Compare Match Timer Control Register (CMCR)\r
+*/\r
+/* Clock Select (CKS[1:0]) */\r
+#define _CMT_CMCR_CKS_PCLK8                     (0x0000U) /* PCLK/8 */\r
+#define _CMT_CMCR_CKS_PCLK32                    (0x0001U) /* PCLK/32 */\r
+#define _CMT_CMCR_CKS_PCLK128                   (0x0002U) /* PCLK/128 */\r
+#define _CMT_CMCR_CKS_PCLK512                   (0x0003U) /* PCLK/512 */\r
+/* Compare Match Interrupt Enable (CMIE) */\r
+#define _CMT_CMCR_CMIE_DISABLE                  (0x0000U) /* Compare match interrupt (CMIn) disabled */\r
+#define _CMT_CMCR_CMIE_ENABLE                   (0x0040U) /* Compare match interrupt (CMIn) enabled */\r
+\r
+/*\r
+    Interrupt Priority Level Store Register n (PRLn)\r
+*/\r
+/* Interrupt Priority Level Store (PRL[3:0]) */\r
+#define _CMT_PRIORITY_LEVEL0                    (0x00000000UL) /* Level 0 (highest) */\r
+#define _CMT_PRIORITY_LEVEL1                    (0x00000001UL) /* Level 1 */\r
+#define _CMT_PRIORITY_LEVEL2                    (0x00000002UL) /* Level 2 */\r
+#define _CMT_PRIORITY_LEVEL3                    (0x00000003UL) /* Level 3 */\r
+#define _CMT_PRIORITY_LEVEL4                    (0x00000004UL) /* Level 4 */\r
+#define _CMT_PRIORITY_LEVEL5                    (0x00000005UL) /* Level 5 */\r
+#define _CMT_PRIORITY_LEVEL6                    (0x00000006UL) /* Level 6 */\r
+#define _CMT_PRIORITY_LEVEL7                    (0x00000007UL) /* Level 7 */\r
+#define _CMT_PRIORITY_LEVEL8                    (0x00000008UL) /* Level 8 */\r
+#define _CMT_PRIORITY_LEVEL9                    (0x00000009UL) /* Level 9 */\r
+#define _CMT_PRIORITY_LEVEL10                   (0x0000000AUL) /* Level 10 */\r
+#define _CMT_PRIORITY_LEVEL11                   (0x0000000BUL) /* Level 11 */\r
+#define _CMT_PRIORITY_LEVEL12                   (0x0000000CUL) /* Level 12 */\r
+#define _CMT_PRIORITY_LEVEL13                   (0x0000000DUL) /* Level 13 */\r
+#define _CMT_PRIORITY_LEVEL14                   (0x0000000EUL) /* Level 14 */\r
+#define _CMT_PRIORITY_LEVEL15                   (0x0000000FUL) /* Level 15 */\r
+#define _CMT_PRIORITY_LEVEL16                   (0x00000000UL) /* Level 16 */\r
+#define _CMT_PRIORITY_LEVEL17                   (0x00000001UL) /* Level 17 */\r
+#define _CMT_PRIORITY_LEVEL18                   (0x00000002UL) /* Level 18 */\r
+#define _CMT_PRIORITY_LEVEL19                   (0x00000003UL) /* Level 19 */\r
+#define _CMT_PRIORITY_LEVEL20                   (0x00000004UL) /* Level 20 */\r
+#define _CMT_PRIORITY_LEVEL21                   (0x00000005UL) /* Level 21 */\r
+#define _CMT_PRIORITY_LEVEL22                   (0x00000006UL) /* Level 22 */\r
+#define _CMT_PRIORITY_LEVEL23                   (0x00000007UL) /* Level 23 */\r
+#define _CMT_PRIORITY_LEVEL24                   (0x00000008UL) /* Level 24 */\r
+#define _CMT_PRIORITY_LEVEL25                   (0x00000009UL) /* Level 25 */\r
+#define _CMT_PRIORITY_LEVEL26                   (0x0000000AUL) /* Level 26 */\r
+#define _CMT_PRIORITY_LEVEL27                   (0x0000000BUL) /* Level 27 */\r
+#define _CMT_PRIORITY_LEVEL28                   (0x0000000CUL) /* Level 28 */\r
+#define _CMT_PRIORITY_LEVEL29                   (0x0000000DUL) /* Level 29 */\r
+#define _CMT_PRIORITY_LEVEL30                   (0x0000000EUL) /* Level 30 */\r
+#define _CMT_PRIORITY_LEVEL31                   (0x0000000FUL) /* Level 31 (lowest) */\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+/* Compare Match Timer Constant Register (CMCOR) */\r
+#define _CMT4_CMCOR_VALUE                    (0x0008U)\r
+/* Compare Match Timer Constant Register (CMCOR) */\r
+#define _CMT5_CMCOR_VALUE                    (0x249EU)\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+void R_CMT4_Create(void);\r
+void R_CMT4_Start(void);\r
+void R_CMT4_Stop(void);\r
+void R_CMT5_Create(void);\r
+void R_CMT5_Start(void);\r
+void R_CMT5_Stop(void);\r
+\r
+/* Start user code for function. Do not edit comment generated here */\r
+\r
+/* Counters used to generate user's delay period */\r
+extern volatile uint32_t g_time_ms_count;\r
+extern volatile uint32_t g_time_us_count;\r
+\r
+/* End user code. Do not edit comment generated here */\r
+#endif
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cmt_user.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_cmt_user.c
new file mode 100644 (file)
index 0000000..ddc0c0e
--- /dev/null
@@ -0,0 +1,99 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_cmt_user.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for CMT module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_cmt.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+\r
+/* Counters used to generate user's delay period */\r
+volatile uint32_t g_time_ms_count;\r
+volatile uint32_t g_time_us_count;\r
+\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: r_cmt_cmi4_interrupt\r
+* Description  : This function is CMI4 interrupt service routine.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_cmt_cmi4_interrupt(void)\r
+{\r
+    /* Clear the interrupt source CMI4 */\r
+    VIC.PIC9.LONG = 0x00000800UL;\r
+\r
+    /* Start user code. Do not edit comment generated here */\r
+    \r
+    /* Decrement the count value */\r
+    g_time_us_count--;\r
+    \r
+    /* End user code. Do not edit comment generated here */\r
+\r
+    /* Dummy write */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_cmt_cmi5_interrupt\r
+* Description  : This function is CMI5 interrupt service routine.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_cmt_cmi5_interrupt(void)\r
+{\r
+    /* Clear the interrupt source CMI5 */\r
+    VIC.PIC9.LONG = 0x00001000UL;\r
+\r
+    /* Start user code. Do not edit comment generated here */  \r
+    \r
+    /* Decrement the count value */\r
+    g_time_ms_count--;\r
+    \r
+    /* End user code. Do not edit comment generated here */\r
+\r
+    /* Dummy write */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_icu.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_icu.c
new file mode 100644 (file)
index 0000000..0052a41
--- /dev/null
@@ -0,0 +1,102 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_icu.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for ICU module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_icu.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_ICU_Create\r
+* Description  : This function initializes ICU module.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_ICU_Create(void)\r
+{\r
+\r
+    /* Disable IRQ12 interrupt */\r
+    VIC.IEC0.LONG = 0x00010000UL;\r
+\r
+    /* Set IRQ12 edge detection type */\r
+    VIC.PLS0.LONG |= 0x00010000UL;\r
+    ICU.IRQCR12.BIT.IRQMD = (uint8_t)_ICU_IRQ_EDGE_FALLING;\r
+\r
+    /* Enable IRQ12 digital filter */\r
+    ICU.IRQFLTE.BIT.FLTEN12 = 1U;\r
+\r
+    /* Set IRQ12 digital filter clock */\r
+    ICU.IRQFLTC.BIT.FCLKSEL12 = _ICU_IRQ12_FILTER_PCLKB_64;\r
+\r
+    /* Set IRQ12 Priority */\r
+    VIC.PRL16.LONG = _ICU_PRIORITY_LEVEL3;\r
+\r
+    /* Set IRQ12 interupt address */\r
+    VIC.VAD16.LONG = (uint32_t)r_icu_irq12_interrupt;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_ICU_IRQ12_Start\r
+* Description  : This function enables IRQ12 interrupt.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_ICU_IRQ12_Start(void)\r
+{\r
+    /* Enable IRQ12 interrupt */\r
+    VIC.IEN0.LONG |= 0x00010000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_ICU_IRQ12_Stop\r
+* Description  : This function disables IRQ12 interrupt.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_ICU_IRQ12_Stop(void)\r
+{\r
+    /* Disable IRQ12 interrupt */\r
+    VIC.IEC0.LONG = 0x00010000UL;\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_icu.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_icu.h
new file mode 100644 (file)
index 0000000..acd7678
--- /dev/null
@@ -0,0 +1,326 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_icu.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for ICU module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef ICU_H\r
+#define ICU_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+\r
+/*\r
+    DMAC Software Activation Register (DMASTG)\r
+*/\r
+/* DMA Unit 0 Software Activation (DMREQ0) */\r
+#define _DMA_UNIT0_SOFTWARE_ACTIVATION_DISABLE      (0x00U) /* DMA transfer is not requested for DMA Unit 0*/\r
+#define _DMA_UNIT0_SOFTWARE_ACTIVATION_ENABLE       (0x01U) /* DMA transfer is requested for DMA Unit 0 */\r
+/* DMA Unit 1 Software Activation (DMREQ1) */\r
+#define _DMA_UNIT1_SOFTWARE_ACTIVATION_DISABLE      (0x00U) /* DMA transfer is not requested for DMA Unit 1*/\r
+#define _DMA_UNIT1_SOFTWARE_ACTIVATION_ENABLE       (0x02U) /* DMA transfer is requested for DMA Unit 1*/\r
+\r
+/*\r
+    IRQ Control Register i (IRQCRi) (i = 0 to 15)\r
+*/\r
+/* IRQ Detection Sense Select (IRQMD[1:0]) */\r
+#define _ICU_IRQ_EDGE_LOW_LEVEL                     (0x00U) /* Low level */\r
+#define _ICU_IRQ_EDGE_FALLING                       (0x01U) /* Falling edge */\r
+#define _ICU_IRQ_EDGE_RISING                        (0x02U) /* Rising edge */\r
+#define _ICU_IRQ_EDGE_BOTH                          (0x03U) /* Rising and falling edge */\r
+\r
+/*\r
+    IRQ Pin Digital Noise Filter Enable Register 0 (IRQFLTE)\r
+*/\r
+/* IRQn Digital Noise Filter Enable (FLTEN0n) */\r
+#define _ICU_IRQn_FILTER_DISABLE                    (0x00000000UL) /* IRQn digital noise filter is disabled */\r
+#define _ICU_IRQ0_FILTER_ENABLE                     (0x00000001UL) /* IRQ0 digital noise filter is enabled */\r
+#define _ICU_IRQ1_FILTER_ENABLE                     (0x00000002UL) /* IRQ1 digital noise filter is enabled */\r
+#define _ICU_IRQ2_FILTER_ENABLE                     (0x00000004UL) /* IRQ2 digital noise filter is enabled */\r
+#define _ICU_IRQ3_FILTER_ENABLE                     (0x00000008UL) /* IRQ3 digital noise filter is enabled */\r
+#define _ICU_IRQ4_FILTER_ENABLE                     (0x00000010UL) /* IRQ4 digital noise filter is enabled */\r
+#define _ICU_IRQ5_FILTER_ENABLE                     (0x00000020UL) /* IRQ5 digital noise filter is enabled */\r
+#define _ICU_IRQ6_FILTER_ENABLE                     (0x00000040UL) /* IRQ6 digital noise filter is enabled */\r
+#define _ICU_IRQ7_FILTER_ENABLE                     (0x00000080UL) /* IRQ7 digital noise filter is enabled */\r
+#define _ICU_IRQ8_FILTER_ENABLE                     (0x00000100UL) /* IRQ8 digital noise filter is enabled */\r
+#define _ICU_IRQ9_FILTER_ENABLE                     (0x00000200UL) /* IRQ9 digital noise filter is enabled */\r
+#define _ICU_IRQ10_FILTER_ENABLE                    (0x00000400UL) /* IRQ10 digital noise filter is enabled */\r
+#define _ICU_IRQ11_FILTER_ENABLE                    (0x00000800UL) /* IRQ11 digital noise filter is enabled */\r
+#define _ICU_IRQ12_FILTER_ENABLE                    (0x00001000UL) /* IRQ12 digital noise filter is enabled */\r
+#define _ICU_IRQ13_FILTER_ENABLE                    (0x00002000UL) /* IRQ13 digital noise filter is enabled */\r
+#define _ICU_IRQ14_FILTER_ENABLE                    (0x00004000UL) /* IRQ14 digital noise filter is enabled */\r
+#define _ICU_IRQ15_FILTER_ENABLE                    (0x00008000UL) /* IRQ15 digital noise filter is enabled */\r
+\r
+/*\r
+    IRQ Pin Digital Filter Setting Register (IRQFLTC)\r
+*/\r
+/* IRQn Digital Filter Sampling Clock (FCLKSELn[1:0]) */\r
+#define _ICU_IRQ0_FILTER_PCLKB                      (0x00U) /* IRQ0 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ0_FILTER_PCLKB_8                    (0x01U) /* IRQ0 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ0_FILTER_PCLKB_32                   (0x02U) /* IRQ0 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ0_FILTER_PCLKB_64                   (0x03U) /* IRQ0 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ1_FILTER_PCLKB                      (0x00U) /* IRQ1 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ1_FILTER_PCLKB_8                    (0x01U) /* IRQ1 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ1_FILTER_PCLKB_32                   (0x02U) /* IRQ1 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ1_FILTER_PCLKB_64                   (0x03U) /* IRQ1 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ2_FILTER_PCLKB                      (0x00U) /* IRQ2 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ2_FILTER_PCLKB_8                    (0x01U) /* IRQ2 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ2_FILTER_PCLKB_32                   (0x02U) /* IRQ2 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ2_FILTER_PCLKB_64                   (0x03U) /* IRQ2 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ3_FILTER_PCLKB                      (0x00U) /* IRQ3 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ3_FILTER_PCLKB_8                    (0x01U) /* IRQ3 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ3_FILTER_PCLKB_32                   (0x02U) /* IRQ3 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ3_FILTER_PCLKB_64                   (0x03U) /* IRQ3 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ4_FILTER_PCLKB                      (0x00U) /* IRQ4 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ4_FILTER_PCLKB_8                    (0x01U) /* IRQ4 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ4_FILTER_PCLKB_32                   (0x02U) /* IRQ4 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ4_FILTER_PCLKB_64                   (0x03U) /* IRQ4 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ5_FILTER_PCLKB                      (0x00U) /* IRQ5 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ5_FILTER_PCLKB_8                    (0x01U) /* IRQ5 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ5_FILTER_PCLKB_32                   (0x02U) /* IRQ5 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ5_FILTER_PCLKB_64                   (0x03U) /* IRQ5 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ6_FILTER_PCLKB                      (0x00U) /* IRQ6 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ6_FILTER_PCLKB_8                    (0x01U) /* IRQ6 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ6_FILTER_PCLKB_32                   (0x02U) /* IRQ6 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ6_FILTER_PCLKB_64                   (0x03U) /* IRQ6 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ7_FILTER_PCLKB                      (0x00U) /* IRQ7 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ7_FILTER_PCLKB_8                    (0x01U) /* IRQ7 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ7_FILTER_PCLKB_32                   (0x02U) /* IRQ7 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ7_FILTER_PCLKB_64                   (0x03U) /* IRQ7 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ8_FILTER_PCLKB                      (0x00U) /* IRQ8 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ8_FILTER_PCLKB_8                    (0x01U) /* IRQ8 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ8_FILTER_PCLKB_32                   (0x02U) /* IRQ8 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ8_FILTER_PCLKB_64                   (0x03U) /* IRQ8 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ9_FILTER_PCLKB                      (0x00U) /* IRQ9 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ9_FILTER_PCLKB_8                    (0x01U) /* IRQ9 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ9_FILTER_PCLKB_32                   (0x02U) /* IRQ9 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ9_FILTER_PCLKB_64                   (0x03U) /* IRQ9 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ10_FILTER_PCLKB                     (0x00U) /* IRQ10 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ10_FILTER_PCLKB_8                   (0x01U) /* IRQ10 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ10_FILTER_PCLKB_32                  (0x02U) /* IRQ10 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ10_FILTER_PCLKB_64                  (0x03U) /* IRQ10 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ11_FILTER_PCLKB                     (0x00U) /* IRQ11 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ11_FILTER_PCLKB_8                   (0x01U) /* IRQ11 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ11_FILTER_PCLKB_32                  (0x02U) /* IRQ11 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ11_FILTER_PCLKB_64                  (0x03U) /* IRQ11 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ12_FILTER_PCLKB                     (0x00U) /* IRQ12 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ12_FILTER_PCLKB_8                   (0x01U) /* IRQ12 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ12_FILTER_PCLKB_32                  (0x02U) /* IRQ12 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ12_FILTER_PCLKB_64                  (0x03U) /* IRQ12 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ13_FILTER_PCLKB                     (0x00U) /* IRQ13 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ13_FILTER_PCLKB_8                   (0x01U) /* IRQ13 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ13_FILTER_PCLKB_32                  (0x02U) /* IRQ13 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ13_FILTER_PCLKB_64                  (0x03U) /* IRQ13 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ14_FILTER_PCLKB                     (0x00U) /* IRQ14 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ14_FILTER_PCLKB_8                   (0x01U) /* IRQ14 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ14_FILTER_PCLKB_32                  (0x02U) /* IRQ14 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ14_FILTER_PCLKB_64                  (0x03U) /* IRQ14 sample clock run at every PCLKB/64 cycle */\r
+#define _ICU_IRQ15_FILTER_PCLKB                     (0x00U) /* IRQ15 sample clock run at every PCLKB cycle */\r
+#define _ICU_IRQ15_FILTER_PCLKB_8                   (0x01U) /* IRQ15 sample clock run at every PCLKB/8 cycle */\r
+#define _ICU_IRQ15_FILTER_PCLKB_32                  (0x02U) /* IRQ15 sample clock run at every PCLKB/32 cycle */\r
+#define _ICU_IRQ15_FILTER_PCLKB_64                  (0x03U) /* IRQ15 sample clock run at every PCLKB/64 cycle */\r
+\r
+/*\r
+    Interrupt Source Priority Register n (IPRn)\r
+*/\r
+/* Interrupt Priority Level Select (IPR[3:0]) */\r
+#define _ICU_PRIORITY_LEVEL0                        (0x00000000UL) /* Level 0 (interrupt disabled) */\r
+#define _ICU_PRIORITY_LEVEL1                        (0x00000001UL) /* Level 1 */\r
+#define _ICU_PRIORITY_LEVEL2                        (0x00000002UL) /* Level 2 */\r
+#define _ICU_PRIORITY_LEVEL3                        (0x00000003UL) /* Level 3 */\r
+#define _ICU_PRIORITY_LEVEL4                        (0x00000004UL) /* Level 4 */\r
+#define _ICU_PRIORITY_LEVEL5                        (0x00000005UL) /* Level 5 */\r
+#define _ICU_PRIORITY_LEVEL6                        (0x00000006UL) /* Level 6 */\r
+#define _ICU_PRIORITY_LEVEL7                        (0x00000007UL) /* Level 7 */\r
+#define _ICU_PRIORITY_LEVEL8                        (0x00000008UL) /* Level 8 */\r
+#define _ICU_PRIORITY_LEVEL9                        (0x00000009UL) /* Level 9 */\r
+#define _ICU_PRIORITY_LEVEL10                       (0x0000000AUL) /* Level 10 */\r
+#define _ICU_PRIORITY_LEVEL11                       (0x0000000BUL) /* Level 11 */\r
+#define _ICU_PRIORITY_LEVEL12                       (0x0000000CUL) /* Level 12 */\r
+#define _ICU_PRIORITY_LEVEL13                       (0x0000000DUL) /* Level 13 */\r
+#define _ICU_PRIORITY_LEVEL14                       (0x0000000EUL) /* Level 14 */\r
+#define _ICU_PRIORITY_LEVEL15                       (0x0000000FUL) /* Level 15 (highest) */\r
+\r
+/*\r
+    NMI Pin Interrupt Control Register (NMICR)\r
+*/\r
+/* NMI Detection Sense Selection (NMIMD) */\r
+#define _ICU_NMI_DETECTION_SENSE_FALLING            (0x00U) /* Falling edge */\r
+#define _ICU_NMI_DETECTION_SENSE_RISING             (0x08U) /* Rising edge */\r
+\r
+/*\r
+    DMA Noise Filter Setting Register (DMAINT)\r
+*/\r
+/* DMA Digital Noise Filter Sampling Clock (DREQFLTC[1:0]) */\r
+#define _ICU_DMAINT0_FILTER_PCLKB                   (0x00U) /* NMI sample clock is run at every PCLKB cycle */\r
+#define _ICU_DMAINT0_FILTER_PCLKB_8                 (0x01U) /* NMI sample clock is run at every PCLKB/8 cycle */\r
+#define _ICU_DMAINT0_FILTER_PCLKB_32                (0x02U) /* NMI sample clock is run at every PCLKB/32 cycle */\r
+#define _ICU_DMAINT0_FILTER_PCLKB_64                (0x03U) /* NMI sample clock is run at every PCLKB/64 cycle */\r
+#define _ICU_DMAINT1_FILTER_PCLKB                   (0x00U) /* NMI sample clock is run at every PCLKB cycle */\r
+#define _ICU_DMAINT1_FILTER_PCLKB_8                 (0x01U) /* NMI sample clock is run at every PCLKB/8 cycle */\r
+#define _ICU_DMAINT1_FILTER_PCLKB_32                (0x02U) /* NMI sample clock is run at every PCLKB/32 cycle */\r
+#define _ICU_DMAINT1_FILTER_PCLKB_64                (0x03U) /* NMI sample clock is run at every PCLKB/64 cycle */\r
+#define _ICU_DMAINT2_FILTER_PCLKB                   (0x00U) /* NMI sample clock is run at every PCLKB cycle */\r
+#define _ICU_DMAINT2_FILTER_PCLKB_8                 (0x01U) /* NMI sample clock is run at every PCLKB/8 cycle */\r
+#define _ICU_DMAINT2_FILTER_PCLKB_32                (0x02U) /* NMI sample clock is run at every PCLKB/32 cycle */\r
+#define _ICU_DMAINT2_FILTER_PCLKB_64                (0x03U) /* NMI sample clock is run at every PCLKB/64 cycle */\r
+\r
+/*\r
+    NMI Pin Digital Noise Filter Setting Register (NMIFLTC)\r
+*/\r
+/* NMI Digital Noise Filter Sampling Clock (NFCLKSEL[1:0]) */\r
+#define _ICU_NMI_FILTER_PCLKB                       (0x00U) /* NMI sample clock is run at every PCLKB cycle */\r
+#define _ICU_NMI_FILTER_PCLKB_8                     (0x01U) /* NMI sample clock is run at every PCLKB/8 cycle */\r
+#define _ICU_NMI_FILTER_PCLKB_32                    (0x02U) /* NMI sample clock is run at every PCLKB/32 cycle */\r
+#define _ICU_NMI_FILTER_PCLKB_64                    (0x03U) /* NMI sample clock is run at every PCLKB/64 cycle */\r
+\r
+/*\r
+    EtherPHY Control Register i (EPHYCRi) (i = 0 to 2)\r
+*/\r
+/* EtherPHYn interrupt Detection Setting (EPHYMD[1:0]) */\r
+#define _ICU_ETHERPHY0_EDGE_LOW_LEVEL               (0x00U) /* Low level */\r
+#define _ICU_ETHERPHY0_EDGE_FALLING                 (0x01U) /* Falling edge */\r
+#define _ICU_ETHERPHY0_EDGE_RISING                  (0x02U) /* Rising edge */\r
+#define _ICU_ETHERPHY0_EDGE_BOTH                    (0x03U) /* Rising and falling edge */\r
+#define _ICU_ETHERPHY1_EDGE_LOW_LEVEL               (0x00U) /* Low level */\r
+#define _ICU_ETHERPHY1_EDGE_FALLING                 (0x01U) /* Falling edge */\r
+#define _ICU_ETHERPHY1_EDGE_RISING                  (0x02U) /* Rising edge */\r
+#define _ICU_ETHERPHY1_EDGE_BOTH                    (0x03U) /* Rising and falling edge */\r
+#define _ICU_ETHERPHY2_EDGE_LOW_LEVEL               (0x00U) /* Low level */\r
+#define _ICU_ETHERPHY2_EDGE_FALLING                 (0x01U) /* Falling edge */\r
+#define _ICU_ETHERPHY2_EDGE_RISING                  (0x02U) /* Rising edge */\r
+#define _ICU_ETHERPHY2_EDGE_BOTH                    (0x03U) /* Rising and falling edge */\r
+\r
+/*\r
+    EtherPHY Interrupt Request Pin Digital Noise Filter Enable Register 0 (EPHYFLTE)\r
+*/\r
+/* EtherPHYn Interrupt Digital Noise Filter Enable (EFLTENn) */\r
+#define _ICU_ETHERPHYn_FILTER_DISABLE              (0x00U) /* ETHER PHY0 digital noise filter is disabled */\r
+#define _ICU_ETHERPHY0_FILTER_ENABLE               (0x01U) /* ETHER PHY0 digital noise filter is enabled */\r
+#define _ICU_ETHERPHY1_FILTER_ENABLE               (0x01U) /* ETHER PHY1 digital noise filter is enabled */\r
+#define _ICU_ETHERPHY2_FILTER_ENABLE               (0x01U) /* ETHER PHY2 digital noise filter is enabled */\r
+\r
+/*\r
+    EtherPHY Interrupt Request Pin Digital Filter Setting Register (EPHYFLTC)\r
+*/\r
+/* EtherPHYn Interrupts Digital Noise Filter Sampling Clock (EFCLKSELn[1:0]) */\r
+#define _ICU_ETHPHYI0_FILTER_PCLKB                 (0x00U) /* ETHER PHY0 sample clock is run at every PCLKB cycle */\r
+#define _ICU_ETHPHYI0_FILTER_PCLKB_8               (0x01U) /* ETHER PHY0 sample clock is run at every PCLKB/8 cycle */\r
+#define _ICU_ETHPHYI0_FILTER_PCLKB_32              (0x02U) /* ETHER PHY0 sample clock is run at every PCLKB/32 cycle */\r
+#define _ICU_ETHPHYI0_FILTER_PCLKB_64              (0x03U) /* ETHER PHY0 sample clock is run at every PCLKB/64 cycle */\r
+#define _ICU_ETHPHYI1_FILTER_PCLKB                 (0x00U) /* ETHER PHY1 sample clock is run at every PCLKB cycle */\r
+#define _ICU_ETHPHYI1_FILTER_PCLKB_8               (0x01U) /* ETHER PHY1 sample clock is run at every PCLKB/8 cycle */\r
+#define _ICU_ETHPHYI1_FILTER_PCLKB_32              (0x02U) /* ETHER PHY1 sample clock is run at every PCLKB/32 cycle */\r
+#define _ICU_ETHPHYI1_FILTER_PCLKB_64              (0x03U) /* ETHER PHY1 sample clock is run at every PCLKB/64 cycle */\r
+#define _ICU_ETHPHYI2_FILTER_PCLKB                 (0x00U) /* ETHER PHY2 sample clock is run at every PCLKB cycle */\r
+#define _ICU_ETHPHYI2_FILTER_PCLKB_8               (0x01U) /* ETHER PHY2 sample clock is run at every PCLKB/8 cycle */\r
+#define _ICU_ETHPHYI2_FILTER_PCLKB_32              (0x02U) /* ETHER PHY2 sample clock is run at every PCLKB/32 cycle */\r
+#define _ICU_ETHPHYI2_FILTER_PCLKB_64              (0x03U) /* ETHER PHY2 sample clock is run at every PCLKB/64 cycle */\r
+\r
+/*\r
+    External DMA Request Pin Digital Noise Enable Register (DREQFLTE)\r
+*/\r
+/* DREQn Digital Noise Filter Enable (DFLTENn) */\r
+#define _ICU_DREQn_FILTER_DISABLE                 (0x00U) /* Digital noise filter is disabled */\r
+#define _ICU_DREQ0_FILTER_ENABLE                  (0x01U) /* DREQ0 Digital noise filter is enabled */\r
+#define _ICU_DREQ1_FILTER_ENABLE                  (0x01U) /* DREQ1 Digital noise filter is enabled */\r
+#define _ICU_DREQ2_FILTER_ENABLE                  (0x01U) /* DREQ2 Digital noise filter is enabled */\r
+\r
+/*\r
+    External DMA Request Pin Digital Noise Setting Register (DREQFLTC)\r
+*/\r
+/* DREQn Digital Noise Filter Sampling Clock (DFCLKSELn[1:0]) */\r
+#define _ICU_DREQ0_FILTER_PCLKB                   (0x00U) /* DREQ0 sample clock is run at every PCLKB cycle */\r
+#define _ICU_DREQ0_FILTER_PCLKB_8                 (0x01U) /* DREQ0 sample clock is run at every PCLKB/8 cycle */\r
+#define _ICU_DREQ0_FILTER_PCLKB_32                (0x02U) /* DREQ0 sample clock is run at every PCLKB/32 cycle */\r
+#define _ICU_DREQ0_FILTER_PCLKB_64                (0x03U) /* DREQ0 sample clock is run at every PCLKB/64 cycle */\r
+#define _ICU_DREQ1_FILTER_PCLKB                   (0x00U) /* DREQ1 sample clock is run at every PCLKB cycle */\r
+#define _ICU_DREQ1_FILTER_PCLKB_8                 (0x01U) /* DREQ1 sample clock is run at every PCLKB/8 cycle */\r
+#define _ICU_DREQ1_FILTER_PCLKB_32                (0x02U) /* DREQ1 sample clock is run at every PCLKB/32 cycle */\r
+#define _ICU_DREQ1_FILTER_PCLKB_64                (0x03U) /* DREQ1 sample clock is run at every PCLKB/64 cycle */\r
+#define _ICU_DREQ2_FILTER_PCLKB                   (0x00U) /* DREQ2 sample clock is run at every PCLKB cycle */\r
+#define _ICU_DREQ2_FILTER_PCLKB_8                 (0x01U) /* DREQ2 sample clock is run at every PCLKB/8 cycle */\r
+#define _ICU_DREQ2_FILTER_PCLKB_32                (0x02U) /* DREQ2 sample clock is run at every PCLKB/32 cycle */\r
+#define _ICU_DREQ2_FILTER_PCLKB_64                (0x03U) /* DREQ2 sample clock is run at every PCLKB/64 cycle */\r
+\r
+/*\r
+    User Mode Enable Register 0 (UEN0)\r
+*/\r
+/* Interrupt control register access selection (UE) */\r
+#define _ICU_UEN0_CTRL_REG_ACCESS_DISABLE         (0x00000000UL) /* Disables access in user mode. */\r
+#define _ICU_UEN0_CTRL_REG_ACCESS_ENABLE          (0x00000001UL) /* Enables access in user mode. */\r
+\r
+/*\r
+    User Mode Enable Register 1 (UEN1)\r
+*/\r
+/* Interrupt control register access selection (UE) */\r
+#define _ICU_UEN1_CTRL_REG_ACCESS_DISABLE         (0x00000000UL) /* Disables access in user mode. */\r
+#define _ICU_UEN1_CTRL_REG_ACCESS_ENABLE          (0x00000001UL) /* Enables access in user mode. */\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+void R_ICU_Create(void);\r
+void R_ICU_IRQ12_Start(void);\r
+void R_ICU_IRQ12_Stop(void);\r
+\r
+/* Start user code for function. Do not edit comment generated here */\r
+\r
+#define SW1_PRESS_FLG           (0x01)\r
+#define SW2_PRESS_FLG           (0x02)\r
+#define SW3_PRESS_FLG           (0x04)\r
+\r
+#define SW1_HELD_FLG            (0x10)\r
+#define SW2_HELD_FLG            (0x20)\r
+#define SW3_HELD_FLG            (0x40)\r
+\r
+#define SW1_SET_FLG_MASK        (0xEE)\r
+#define SW2_SET_FLG_MASK        (0xDD)\r
+#define SW3_SET_FLG_MASK        (0xBB)\r
+\r
+#define SW_ALL_OFF              (0xF8)\r
+\r
+#define SW1_INPUT_STATE         (PORT3.PIDR.BIT.B5)\r
+#define SW2_INPUT_STATE         (PORTN.PIDR.BIT.B5)\r
+#define SW3_INPUT_STATE         (PORT4.PIDR.BIT.B4)\r
+\r
+#define SW1_OUTPUT_PIN          (PORT3.PODR.BIT.B5)\r
+#define SW2_OUTPUT_PIN          (PORTN.PODR.BIT.B5)\r
+#define SW3_OUTPUT_PIN          (PORT4.PODR.BIT.B4)\r
+\r
+/* Stores switch states detected via interrupts */\r
+extern volatile uint8_t  g_switch_press_flg;\r
+\r
+/* End user code. Do not edit comment generated here */\r
+#endif
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_icu_user.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_icu_user.c
new file mode 100644 (file)
index 0000000..d618e2e
--- /dev/null
@@ -0,0 +1,73 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_icu_user.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for ICU module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_icu.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+\r
+/* Stores switch states detected via interrupts */\r
+volatile uint8_t  g_switch_press_flg = 0u;\r
+\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: r_icu_irq12_interrupt\r
+* Description  : This function handles the irqn pin interrupt.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_icu_irq12_interrupt(void)\r
+{\r
+    VIC.PIC0.LONG = 0x00010000UL;\r
+    /* Start user code. Do not edit comment generated here */\r
+\r
+    /* Set global switch flag to indicate SW3 is pressed */\r
+    g_switch_press_flg |=  SW3_PRESS_FLG;\r
+\r
+    /* End user code. Do not edit comment generated here */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_interrupthandlers.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_interrupthandlers.h
new file mode 100644 (file)
index 0000000..625caf0
--- /dev/null
@@ -0,0 +1,83 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_interrupthandlers.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file declares interrupt handlers.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef INTERRUPT_HANDLERS_H\r
+#define INTERRUPT_HANDLERS_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+/* FIQ exception handler */\r
+void r_fiq_handler(void) __attribute__((interrupt ("FIQ")));\r
+\r
+/* ICU IRQ12 */\r
+void r_icu_irq12_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+/* ADC Unit0 S12ADI0 */\r
+void r_s12ad_s12adi0_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+/* RSPI1 SPTI1 */\r
+void r_rspi1_transmit_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+/* RSPI1 SPEI1 */\r
+void r_rspi1_error_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+/* RSPI1 SPII1 */\r
+void r_rspi1_idle_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+/* SCIFA TXIF2 */\r
+void r_scifa2_txif2_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+/* SCIFA DRIF2 */\r
+void r_scifa2_drif2_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+/* SCIFA RXIF2 */\r
+void r_scifa2_rxif2_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+/* SCIFA BRIF2 */\r
+void r_scifa2_brif2_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+/* CMT CMI4 */\r
+void r_cmt_cmi4_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+/* CMT CMI5 */\r
+void r_cmt_cmi5_interrupt(void) __attribute__((interrupt ("IRQ")));\r
+\r
+\r
+#endif
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_intprg.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_intprg.c
new file mode 100644 (file)
index 0000000..556b9b7
--- /dev/null
@@ -0,0 +1,84 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_intprg.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : Set the non-maskable interrupt.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/***********************************************************************************************************************\r
+* Function Name: r_set_exception_handler\r
+* Description  : None\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_set_exception_handler(void)\r
+{\r
+    uint32_t *pointer;\r
+\r
+    /* FIQ exception handler address */\r
+    pointer = (uint32_t *)0x1c;\r
+\r
+    /* Branch to next address instruction */\r
+    *pointer ++ = 0xeaffffff;\r
+\r
+    /* LDR PC,[PC, #-0x04], load r_fiq_handler address to PC */\r
+    *pointer ++ = 0xe51ff004;\r
+\r
+    /* DC32 r_fiq_handler, define the r_fiq_handler address */\r
+    *pointer = (uint32_t)r_fiq_handler;\r
+\r
+    /* Start user code. Do not edit comment generated here */\r
+    /* End user code. Do not edit comment generated here */\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_fiq_handler\r
+* Description  : None\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_fiq_handler(void)\r
+{\r
+    while(1);\r
+    /* Start user code. Do not edit comment generated here */\r
+    /* End user code. Do not edit comment generated here */\r
+}\r
+\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_macrodriver.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_macrodriver.h
new file mode 100644 (file)
index 0000000..b2e7e53
--- /dev/null
@@ -0,0 +1,145 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_macrodriver.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements general head file.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef MODULEID_H\r
+#define MODULEID_H\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "iodefine.h"\r
+#include "r_cg_interrupthandlers.h"\r
+#include "r_cg_mpc.h"\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#ifndef __TYPEDEF__\r
+#define DI()    asm("cpsid i") /* Disable IRQ interrupt (Set CPSR.I bit to 1)  */\r
+#define EI()    asm("cpsie i") /* Enable IRQ interrupt (Clear CPSR.I bit to 0) */\r
+#define nop()   asm("nop")\r
+\r
+/* Status list definition */\r
+#define MD_STATUSBASE        (0x00U)\r
+#define MD_OK                (MD_STATUSBASE + 0x00U) /* register setting OK */\r
+#define MD_SPT               (MD_STATUSBASE + 0x01U) /* IIC stop */\r
+#define MD_NACK              (MD_STATUSBASE + 0x02U) /* IIC no ACK */\r
+#define MD_BUSY1             (MD_STATUSBASE + 0x03U) /* busy 1 */\r
+#define MD_BUSY2             (MD_STATUSBASE + 0x04U) /* busy 2 */\r
+\r
+/* Error list definition */\r
+#define MD_ERRORBASE         (0x80U)\r
+#define MD_ERROR             (MD_ERRORBASE + 0x00U)  /* error */\r
+#define MD_ARGERROR          (MD_ERRORBASE + 0x01U)  /* error argument input error */\r
+#define MD_ERROR1            (MD_ERRORBASE + 0x02U)  /* error 1 */\r
+#define MD_ERROR2            (MD_ERRORBASE + 0x03U)  /* error 2 */\r
+#define MD_ERROR3            (MD_ERRORBASE + 0x04U)  /* error 3 */\r
+#define MD_ERROR4            (MD_ERRORBASE + 0x05U)  /* error 4 */\r
+#define MD_ERROR5            (MD_ERRORBASE + 0x06U)  /* error 5 */\r
+\r
+/* MSTP macro definition */\r
+#define MSTP_CMTW1      SYSTEM.MSTPCRA.BIT.MSTPCRA0\r
+#define MSTP_CMTW0      SYSTEM.MSTPCRA.BIT.MSTPCRA1\r
+#define MSTP_CMT2       SYSTEM.MSTPCRA.BIT.MSTPCRA2\r
+#define MSTP_CMT1       SYSTEM.MSTPCRA.BIT.MSTPCRA3\r
+#define MSTP_CMT0       SYSTEM.MSTPCRA.BIT.MSTPCRA4\r
+#define MSTP_PPG1       SYSTEM.MSTPCRA.BIT.MSTPCRA5\r
+#define MSTP_PPG0       SYSTEM.MSTPCRA.BIT.MSTPCRA6\r
+#define MSTP_TPU1       SYSTEM.MSTPCRA.BIT.MSTPCRA7\r
+#define MSTP_TPU0       SYSTEM.MSTPCRA.BIT.MSTPCRA8\r
+#define MSTP_GPTA       SYSTEM.MSTPCRA.BIT.MSTPCRA9\r
+#define MSTP_MTU3       SYSTEM.MSTPCRA.BIT.MSTPCRA11\r
+\r
+#define MSTP_RSCAN      SYSTEM.MSTPCRB.BIT.MSTPCRB1\r
+#define MSTP_RIIC1      SYSTEM.MSTPCRB.BIT.MSTPCRB2\r
+#define MSTP_RIIC0      SYSTEM.MSTPCRB.BIT.MSTPCRB3\r
+#define MSTP_SCIFA4     SYSTEM.MSTPCRB.BIT.MSTPCRB5\r
+#define MSTP_SCIFA3     SYSTEM.MSTPCRB.BIT.MSTPCRB6\r
+#define MSTP_SCIFA2     SYSTEM.MSTPCRB.BIT.MSTPCRB7\r
+#define MSTP_SCIFA1     SYSTEM.MSTPCRB.BIT.MSTPCRB8\r
+#define MSTP_SCIFA0     SYSTEM.MSTPCRB.BIT.MSTPCRB9\r
+#define MSTP_RSPI3      SYSTEM.MSTPCRB.BIT.MSTPCRB10\r
+#define MSTP_RSPI2      SYSTEM.MSTPCRB.BIT.MSTPCRB11\r
+#define MSTP_RSPI1      SYSTEM.MSTPCRB.BIT.MSTPCRB12\r
+#define MSTP_RSPI0      SYSTEM.MSTPCRB.BIT.MSTPCRB13\r
+#define MSTP_ETHERSW    SYSTEM.MSTPCRB.BIT.MSTPCRB14\r
+#define MSTP_ECATC      SYSTEM.MSTPCRB.BIT.MSTPCRB15\r
+#define MSTP_EMDIO      SYSTEM.MSTPCRB.BIT.MSTPCRB16\r
+#define MSTP_ERMII      SYSTEM.MSTPCRB.BIT.MSTPCRB17\r
+#define MSTP_HWRTOS     SYSTEM.MSTPCRB.BIT.MSTPCRB18\r
+#define MSTP_CLKOUT25M  SYSTEM.MSTPCRB.BIT.MSTPCRB19\r
+\r
+#define MSTP_USB        SYSTEM.MSTPCRC.BIT.MSTPCRC1\r
+#define MSTP_DSMIF      SYSTEM.MSTPCRC.BIT.MSTPCRC2\r
+#define MSTP_TEMPS      SYSTEM.MSTPCRC.BIT.MSTPCRC3\r
+#define MSTP_S12ADC1    SYSTEM.MSTPCRC.BIT.MSTPCRC4\r
+#define MSTP_S12ADC0    SYSTEM.MSTPCRC.BIT.MSTPCRC5\r
+#define MSTP_ELC        SYSTEM.MSTPCRC.BIT.MSTPCRC6\r
+#define MSTP_BSC        SYSTEM.MSTPCRC.BIT.MSTPCRC7\r
+#define MSTP_CKIO       SYSTEM.MSTPCRC.BIT.MSTPCRC8\r
+#define MSTP_SPIBSC     SYSTEM.MSTPCRC.BIT.MSTPCRC9\r
+#define MSTP_DOC        SYSTEM.MSTPCRC.BIT.MSTPCRC10\r
+#define MSTP_CRC        SYSTEM.MSTPCRC.BIT.MSTPCRC11\r
+#define MSTP_CLMA2      SYSTEM.MSTPCRC.BIT.MSTPCRC12\r
+#define MSTP_CLMA1      SYSTEM.MSTPCRC.BIT.MSTPCRC13\r
+#define MSTP_CLMA0      SYSTEM.MSTPCRC.BIT.MSTPCRC14\r
+\r
+#define MSTP_SSI        SYSTEM.MSTPCRD.BIT.MSTPCRD2\r
+\r
+#define MSTP_DMAC1      SYSTEM.MSTPCRE.BIT.MSTPCRE4\r
+#define MSTP_DMAC0      SYSTEM.MSTPCRE.BIT.MSTPCRE5\r
+\r
+#define MSTP_CORESIGHT  SYSTEM.MSTPCRF.BIT.MSTPCRF0\r
+\r
+#define        __MSTP( x )             MSTP ## x\r
+#define         _MSTP( x )             __MSTP( x )\r
+#define          MSTP( x )             _MSTP( _ ## x )\r
+#endif\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+#ifndef __TYPEDEF__\r
+typedef signed char         int8_t;\r
+typedef unsigned char       uint8_t;\r
+typedef signed short        int16_t;\r
+typedef unsigned short      uint16_t;\r
+typedef signed long         int32_t;\r
+typedef unsigned long       uint32_t;\r
+typedef unsigned short      MD_STATUS;\r
+#define __TYPEDEF__\r
+#endif\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+\r
+#endif\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_mpc.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_mpc.c
new file mode 100644 (file)
index 0000000..a403df1
--- /dev/null
@@ -0,0 +1,155 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_mpc.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : Setting of port and mpc registers.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+#include "r_typedefs.h"\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_mpc.h"\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_MPC_Create\r
+* Description  : This function initializes the Port I/O.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_MPC_Create(void)\r
+{\r
+    /* Set RSPCK1 pin */\r
+    MPC.PN3PFS.BYTE |= 0x0EU;\r
+    PORTN.PMR.BYTE |= 0x08U;\r
+    /* Set MOSI1 pin */\r
+    MPC.PN2PFS.BYTE |= 0x0EU;\r
+    PORTN.PMR.BYTE |= 0x04U;\r
+    /* Set MISO1 pin */\r
+    MPC.PN1PFS.BYTE |= 0x0EU;\r
+    PORTN.PMR.BYTE |= 0x02U;\r
+    /* Set SSL10 pin */\r
+    MPC.PN0PFS.BYTE |= 0x0EU;\r
+    PORTN.PMR.BYTE |= 0x01U;\r
+    /* Set SSL11 pin */\r
+    MPC.PN4PFS.BYTE |= 0x0EU;\r
+    PORTN.PMR.BYTE |= 0x10U;\r
+    /* Set TXD2 pin */\r
+    MPC.P91PFS.BYTE |= 0x0BU;\r
+    PORT9.PMR.BYTE |= 0x02U;\r
+    /* Set RXD2 pin */\r
+    MPC.P92PFS.BYTE |= 0x0BU;\r
+    PORT9.PMR.BYTE |= 0x04U;\r
+    /* Set IRQ12 pin */\r
+    MPC.P44PFS.BYTE |= 0x40U;\r
+    PORT4.PMR.BYTE &= 0xEFU;\r
+    PORT4.PDR.WORD &= 0xFEFFU;\r
+    PORT4.PDR.WORD |= 0x0200U;\r
+    /* Set TIOCB9 pin */\r
+    MPC.PL0PFS.BYTE |= 0x03U;\r
+    PORTL.PMR.BYTE |= 0x01U;\r
+    /* Set TIOCC9 pin */\r
+    MPC.PU4PFS.BYTE |= 0x03U;\r
+    PORTU.PMR.BYTE |= 0x10U;\r
+    /* Set TIOCD9 pin */\r
+    MPC.PN5PFS.BYTE |= 0x03U;\r
+    PORTN.PMR.BYTE |= 0x20U;\r
+\r
+    R_MPC_Create_UserInit();\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_MPC_Create_UserInit\r
+* Description  : This function adds user code after initializing modules pin setting.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_MPC_Create_UserInit(void)\r
+{\r
+    /* Start user code. Do not edit comment generated here */\r
+    /* End user code. Do not edit comment generated here */\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : R_MPC_WriteEnable\r
+* Description   : Enables writing to the PmnPFS register (m = 0-9, A-U, n = 0-7).\r
+                  And dummy read the register in order to fix the register value.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void R_MPC_WriteEnable(void)\r
+{\r
+    volatile uint8_t dummy; \r
+\r
+    UNUSED_VARIABLE(dummy);\r
+  \r
+    /* Enables writing to the PmnPFS register */\r
+    MPC.PWPR.BYTE = MPC_PFSWE_WRITE_ENABLE;  \r
+    dummy = MPC.PWPR.BYTE;\r
+    MPC.PWPR.BYTE = MPC_PFS_WRITE_ENABLE; \r
+    dummy = MPC.PWPR.BYTE;\r
+    \r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function R_MPC_WriteEnable\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* Function Name : R_MPC_WriteDisable\r
+* Description   : Disables writing to the PmnPFS register (m = 0-9, A-U, n = 0-7).\r
+                  And dummy read the register in order to fix the register value.\r
+* Arguments    : none\r
+* Return Value : none\r
+***********************************************************************************************************************/\r
+void R_MPC_WriteDisable(void)\r
+{\r
+    volatile uint8_t dummy; \r
+\r
+    UNUSED_PARAM(dummy);\r
+  \r
+    /* Disables writing to the PmnPFS register */\r
+    MPC.PWPR.BYTE = MPC_PFS_WRITE_DISABLE;  \r
+    dummy = MPC.PWPR.BYTE;\r
+    \r
+}\r
+\r
+/***********************************************************************************************************************\r
+ End of function R_MPC_WriteDisable\r
+***********************************************************************************************************************/\r
+\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_mpc.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_mpc.h
new file mode 100644 (file)
index 0000000..1ebdf96
--- /dev/null
@@ -0,0 +1,49 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_mpc.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : Header file of mpc file.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef _MPC_H\r
+#define _MPC_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+void R_MPC_Create(void);\r
+void R_MPC_Create_UserInit(void);\r
+\r
+#endif
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_port.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_port.c
new file mode 100644 (file)
index 0000000..4c50323
--- /dev/null
@@ -0,0 +1,69 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_port.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for Port module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_port.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_PORT_Create\r
+* Description  : This function initializes the Port I/O.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_PORT_Create(void)\r
+{\r
+    PORT5.PODR.BYTE = _Pm1_OUTPUT_1;\r
+    PORT6.PODR.BYTE = _Pm7_OUTPUT_1;\r
+    PORT5.PDR.WORD = _Pm1_MODE_OUTPUT | _Pm6_MODE_OUTPUT;\r
+    PORT6.PDR.WORD = _Pm7_MODE_OUTPUT;\r
+    PORT7.PDR.WORD = _Pm4_MODE_OUTPUT | _Pm6_MODE_OUTPUT | _Pm7_MODE_OUTPUT;\r
+    PORTA.PDR.WORD = _Pm0_MODE_OUTPUT;\r
+    PORTF.PDR.WORD = _Pm7_MODE_OUTPUT;\r
+    PORTM.PDR.WORD = _Pm2_MODE_OUTPUT | _Pm3_MODE_OUTPUT;\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_port.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_port.h
new file mode 100644 (file)
index 0000000..f92e679
--- /dev/null
@@ -0,0 +1,135 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_port.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for Port module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef PORT_H\r
+#define PORT_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+/*\r
+    Port Direction Register (PDR)\r
+*/\r
+/* Pmn Direction Control (B0 - B15) */\r
+#define _Pm0_MODE_NOT_USED             (0x0000U) /* Pm0 not used (Hi-z input protection) */\r
+#define _Pm0_MODE_INPUT                (0x0002U) /* Pm0 as input */\r
+#define _Pm0_MODE_OUTPUT               (0x0003U) /* Pm0 as output */\r
+#define _Pm1_MODE_NOT_USED             (0x0000U) /* Pm1 not used (Hi-z input protection) */\r
+#define _Pm1_MODE_INPUT                (0x0008U) /* Pm1 as input */\r
+#define _Pm1_MODE_OUTPUT               (0x000CU) /* Pm1 as output */\r
+#define _Pm2_MODE_NOT_USED             (0x0000U) /* Pm2 not used (Hi-z input protection) */\r
+#define _Pm2_MODE_INPUT                (0x0020U) /* Pm2 as input */\r
+#define _Pm2_MODE_OUTPUT               (0x0030U) /* Pm2 as output */\r
+#define _Pm3_MODE_NOT_USED             (0x0000U) /* Pm3 not used (Hi-z input protection) */\r
+#define _Pm3_MODE_INPUT                (0x0080U) /* Pm3 as input */\r
+#define _Pm3_MODE_OUTPUT               (0x00C0U) /* Pm3 as output */\r
+#define _Pm4_MODE_NOT_USED             (0x0000U) /* Pm4 not used (Hi-z input protection) */\r
+#define _Pm4_MODE_INPUT                (0x0200U) /* Pm4 as input */\r
+#define _Pm4_MODE_OUTPUT               (0x0300U) /* Pm4 as output */\r
+#define _Pm5_MODE_NOT_USED             (0x0000U) /* Pm5 not used (Hi-z input protection) */\r
+#define _Pm5_MODE_INPUT                (0x0800U) /* Pm5 as input */\r
+#define _Pm5_MODE_OUTPUT               (0x0C00U) /* Pm5 as output */\r
+#define _Pm6_MODE_NOT_USED             (0x0000U) /* Pm6 not used (Hi-z input protection) */\r
+#define _Pm6_MODE_INPUT                (0x2000U) /* Pm6 as input */\r
+#define _Pm6_MODE_OUTPUT               (0x3000U) /* Pm6 as output */\r
+#define _Pm7_MODE_NOT_USED             (0x0000U) /* Pm7 not used (Hi-z input protection) */\r
+#define _Pm7_MODE_INPUT                (0x8000U) /* Pm7 as input */\r
+#define _Pm7_MODE_OUTPUT               (0xC000U) /* Pm7 as output */\r
+\r
+/*\r
+    Port Output Data Register (PODR)\r
+*/\r
+/* Pmn Output Data Store (B0 - B7) */\r
+#define _Pm0_OUTPUT_0                  (0x00U) /* Output low at B0 */\r
+#define _Pm0_OUTPUT_1                  (0x01U) /* Output high at B0 */\r
+#define _Pm1_OUTPUT_0                  (0x00U) /* Output low at B1 */\r
+#define _Pm1_OUTPUT_1                  (0x02U) /* Output high at B1 */\r
+#define _Pm2_OUTPUT_0                  (0x00U) /* Output low at B2 */\r
+#define _Pm2_OUTPUT_1                  (0x04U) /* Output high at B2 */\r
+#define _Pm3_OUTPUT_0                  (0x00U) /* Output low at B3 */\r
+#define _Pm3_OUTPUT_1                  (0x08U) /* Output high at B3 */\r
+#define _Pm4_OUTPUT_0                  (0x00U) /* Output low at B4 */\r
+#define _Pm4_OUTPUT_1                  (0x10U) /* Output high at B4 */\r
+#define _Pm5_OUTPUT_0                  (0x00U) /* Output low at B5 */\r
+#define _Pm5_OUTPUT_1                  (0x20U) /* Output high at B5 */\r
+#define _Pm6_OUTPUT_0                  (0x00U) /* Output low at B6 */\r
+#define _Pm6_OUTPUT_1                  (0x40U) /* Output high at B6 */\r
+#define _Pm7_OUTPUT_0                  (0x00U) /* Output low at B7 */\r
+#define _Pm7_OUTPUT_1                  (0x80U) /* Output high at B7 */\r
+\r
+/*\r
+    Pull-Up/Pull-Down Control Register (PCR)\r
+*/\r
+/* Pmn Input Pull-Up Resistor Control (B0 - B15) */\r
+#define _Pm0_PULLUPDOWN_DISABLE        (0x0000U) /* Pm0 pull-up resistor and pull-down resistor not connected */\r
+#define _Pm0_PULLUPDOWN_PULLDOWN_ON    (0x0001U) /* Pm0 pull-down resistor connected */\r
+#define _Pm0_PULLUPDOWN_PULLUP_ON      (0x0002U) /* Pm0 pull-up resistor connected */\r
+#define _Pm1_PULLUPDOWN_DISABLE        (0x0000U) /* Pm1 pull-up resistor and pull-down resistor not connected */\r
+#define _Pm1_PULLUPDOWN_PULLDOWN_ON    (0x0004U) /* Pm1 pull-down resistor connected */\r
+#define _Pm1_PULLUPDOWN_PULLUP_ON      (0x0008U) /* Pm1 pull-up resistor connected */\r
+#define _Pm2_PULLUPDOWN_DISABLE        (0x0000U) /* Pm2 pull-up resistor and pull-down resistor not connected */\r
+#define _Pm2_PULLUPDOWN_PULLDOWN_ON    (0x0010U) /* Pm2 pull-down resistor connected */\r
+#define _Pm2_PULLUPDOWN_PULLUP_ON      (0x0020U) /* Pm2 pull-up resistor connected */\r
+#define _Pm3_PULLUPDOWN_DISABLE        (0x0000U) /* Pm3 pull-up resistor and pull-down resistor not connected */\r
+#define _Pm3_PULLUPDOWN_PULLDOWN_ON    (0x0040U) /* Pm3 pull-down resistor connected */\r
+#define _Pm3_PULLUPDOWN_PULLUP_ON      (0x0080U) /* Pm3 pull-up resistor connected */\r
+#define _Pm4_PULLUPDOWN_DISABLE        (0x0000U) /* Pm4 pull-up resistor and pull-down resistor not connected */\r
+#define _Pm4_PULLUPDOWN_PULLDOWN_ON    (0x0100U) /* Pm4 pull-down resistor connected */\r
+#define _Pm4_PULLUPDOWN_PULLUP_ON      (0x0200U) /* Pm4 pull-up resistor connected */\r
+#define _Pm5_PULLUPDOWN_DISABLE        (0x0000U) /* Pm5 pull-up resistor and pull-down resistor not connected */\r
+#define _Pm5_PULLUPDOWN_PULLDOWN_ON    (0x0400U) /* Pm5 pull-down resistor connected */\r
+#define _Pm5_PULLUPDOWN_PULLUP_ON      (0x0800U) /* Pm5 pull-up resistor connected */\r
+#define _Pm6_PULLUPDOWN_DISABLE        (0x0000U) /* Pm6 pull-up resistor and pull-down resistor not connected */\r
+#define _Pm6_PULLUPDOWN_PULLDOWN_ON    (0x1000U) /* Pm6 pull-down resistor connected */\r
+#define _Pm6_PULLUPDOWN_PULLUP_ON      (0x2000U) /* Pm6 pull-up resistor connected */\r
+#define _Pm7_PULLUPDOWN_DISABLE        (0x0000U) /* Pm7 pull-up resistor and pull-down resistor not connected */\r
+#define _Pm7_PULLUPDOWN_PULLDOWN_ON    (0x4000U) /* Pm7 pull-down resistor connected */\r
+#define _Pm7_PULLUPDOWN_PULLUP_ON      (0x8000U) /* Pm7 pull-up resistor connected */\r
+\r
+/*\r
+    Drive Capacity Control Register (DSCR)\r
+*/\r
+/* P10 Drive Capacity Control (B0) */\r
+#define _Pm0_HIDRV_OFF                 (0x0000U) /* P10 Normal drive output */\r
+#define _Pm0_HIDRV_ON                  (0x0001U) /* P10 High-drive output */\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+void R_PORT_Create(void);\r
+\r
+/* Start user code for function. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#endif
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_port_user.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_port_user.c
new file mode 100644 (file)
index 0000000..db2c2b1
--- /dev/null
@@ -0,0 +1,52 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_port_user.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for Port module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_port.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_rspi.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_rspi.c
new file mode 100644 (file)
index 0000000..2e9325a
--- /dev/null
@@ -0,0 +1,196 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_rspi.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for RSPI module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_rspi.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+const uint32_t * gp_rspi1_tx_address;         /* RSPI1 transmit buffer address */\r
+uint16_t         g_rspi1_tx_count;            /* RSPI1 transmit data number */\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_RSPI1_Create\r
+* Description  : This function initializes the RSPI1 module.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_RSPI1_Create(void)\r
+{\r
+    /* Disable RSPI interrupts */\r
+    VIC.IEC2.LONG = 0x00200000UL; /* Disable SPTI1 interrupt */\r
+    VIC.IEC2.LONG = 0x00400000UL; /* Disable SPEI1 interrupt */\r
+    VIC.IEC2.LONG = 0x00800000UL; /* Disable SPII1 interrupt */\r
+\r
+    /* Set interrupt detection type */\r
+    VIC.PLS2.LONG |= 0x00200000UL; /* Set SPTI1 edge detection interrupt */\r
+\r
+    /* Cancel RSPI module stop state */\r
+    MSTP(RSPI1) = 0U;\r
+\r
+    /* Disable RSPI function */\r
+    RSPI1.SPCR.BIT.SPE = 0U;\r
+\r
+    /* Set control registers */\r
+    RSPI1.SPPCR.BYTE = _RSPI_MOSI_LEVEL_HIGH | _RSPI_MOSI_FIXING_MOIFV_BIT | _RSPI_OUTPUT_PIN_CMOS | _RSPI_LOOPBACK_DISABLED | _RSPI_LOOPBACK2_DISABLED;\r
+    RSPI1.SPBR = _RSPI1_DIVISOR;\r
+    RSPI1.SPDCR.BYTE = _RSPI_ACCESS_LONGWORD | _RSPI_FRAMES_1;\r
+    RSPI1.SPSCR.BYTE = _RSPI_SEQUENCE_LENGTH_1;\r
+    RSPI1.SSLP.BYTE = _RSPI_SSL0_POLARITY_LOW | _RSPI_SSL1_POLARITY_LOW;\r
+    RSPI1.SPCKD.BYTE = _RSPI_RSPCK_DELAY_1;\r
+    RSPI1.SSLND.BYTE = _RSPI_SSL_NEGATION_DELAY_1;\r
+    RSPI1.SPND.BYTE = _RSPI_NEXT_ACCESS_DELAY_1;\r
+    RSPI1.SPCR2.BYTE = _RSPI_PARITY_DISABLE;\r
+    RSPI1.SPCMD0.WORD = _RSPI_RSPCK_SAMPLING_EVEN | _RSPI_RSPCK_POLARITY_HIGH | _RSPI_BASE_BITRATE_1 | \r
+                        _RSPI_SIGNAL_ASSERT_SSL0 | _RSPI_SSL_KEEP_DISABLE | _RSPI_DATA_LENGTH_BITS_8 | \r
+                        _RSPI_MSB_FIRST | _RSPI_NEXT_ACCESS_DELAY_DISABLE | _RSPI_NEGATION_DELAY_DISABLE | \r
+                        _RSPI_RSPCK_DELAY_DISABLE;\r
+\r
+    /* Set SPTI1 priority level */\r
+    VIC.PRL85.LONG = _RSPI_PRIORITY_LEVEL6;\r
+    \r
+    /* Set SPEI1 priority level */\r
+    VIC.PRL86.LONG = _RSPI_PRIORITY_LEVEL5;\r
+    \r
+    /* Set SPII1 priority level */\r
+    VIC.PRL87.LONG = _RSPI_PRIORITY_LEVEL7;\r
+    \r
+    /* Set SPTI1 interrupt address */\r
+    VIC.VAD85.LONG = (uint32_t)r_rspi1_transmit_interrupt;\r
+    \r
+    /* Set SPEI1 interrupt address */\r
+    VIC.VAD86.LONG = (uint32_t)r_rspi1_error_interrupt;\r
+    \r
+    /* Set SPII1 interrupt address */\r
+    VIC.VAD87.LONG = (uint32_t)r_rspi1_idle_interrupt;\r
+    \r
+    RSPI1.SPCR.BYTE = _RSPI_MODE_SPI | _RSPI_TRANSMIT_ONLY | _RSPI_MASTER_MODE;\r
+}\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_RSPI1_Start\r
+* Description  : This function starts the RSPI1 module operation.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_RSPI1_Start(void)\r
+{\r
+    volatile uint8_t dummy;\r
+\r
+    /* Enable RSPI interrupts */\r
+    VIC.IEN2.LONG |= 0x00200000UL; /* Enable SPTI1 interrupt */\r
+    VIC.IEN2.LONG |= 0x00400000UL; /* Enable SPEI1 interrupt */\r
+    VIC.IEN2.LONG |= 0x00800000UL; /* Enable SPII1 interrupt */\r
+\r
+    /* Clear error sources */\r
+    dummy = RSPI1.SPSR.BYTE;\r
+    ( void ) dummy;\r
+    RSPI1.SPSR.BYTE = 0x00U;\r
+\r
+    /* Disable idle interrupt */\r
+    RSPI1.SPCR2.BIT.SPIIE = 0U;\r
+}\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_RSPI1_Stop\r
+* Description  : This function stops the RSPI1 module operation.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_RSPI1_Stop(void)\r
+{\r
+    /* Disable RSPI interrupts */\r
+    VIC.IEC2.LONG = 0x00200000UL; /* Disable SPTI1 interrupt */\r
+    VIC.IEC2.LONG = 0x00400000UL; /* Disable SPEI1 interrupt */\r
+    VIC.IEC2.LONG = 0x00800000UL; /* Disable SPII1 interrupt */\r
+\r
+    /* Disable RSPI function */\r
+    RSPI1.SPCR.BIT.SPE = 0U;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_RSPI1_Send\r
+* Description  : This function sends RSPI1 data.\r
+* Arguments    : tx_buf -\r
+*                    transfer buffer pointer (not used when data is handled by DMAC)\r
+*                tx_num -\r
+*                    buffer size\r
+* Return Value : status -\r
+*                    MD_OK or MD_ARGERROR\r
+***********************************************************************************************************************/\r
+MD_STATUS R_RSPI1_Send(const uint32_t * tx_buf, uint16_t tx_num)\r
+{\r
+    MD_STATUS status = MD_OK;\r
+\r
+    if (tx_num < 1U)\r
+    {\r
+        status = MD_ARGERROR;\r
+    }\r
+    else\r
+    {\r
+        gp_rspi1_tx_address = tx_buf;\r
+        g_rspi1_tx_count = tx_num;\r
+\r
+        /* Enable transmit interrupt */\r
+        RSPI1.SPCR.BIT.SPTIE = 1U;\r
+\r
+        /* Enable error interrupt */\r
+        RSPI1.SPCR.BIT.SPEIE = 1U;\r
+\r
+        /* Enable idle interrupt */\r
+        RSPI1.SPCR2.BIT.SPIIE = 1U;\r
+\r
+        /* Enable RSPI function */\r
+        RSPI1.SPCR.BIT.SPE = 1U;\r
+    }\r
+\r
+    return (status);\r
+}\r
+\r
+\r
+\r
+\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_rspi.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_rspi.h
new file mode 100644 (file)
index 0000000..e5c4b24
--- /dev/null
@@ -0,0 +1,274 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_rspi.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for RSPI module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef RSPI_H\r
+#define RSPI_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+/*\r
+    RSPI Control Register (SPCR)\r
+*/\r
+/* RSPI Mode Select (SPMS) */\r
+#define _RSPI_MODE_SPI                       (0x00U) /* SPI operation (four-wire method) */\r
+#define _RSPI_MODE_CLOCK_SYNCHRONOUS         (0x01U) /* Clock synchronous operation (three-wire method) */\r
+/* Communications Operating Mode Select (TXMD) */\r
+#define _RSPI_FULL_DUPLEX_SYNCHRONOUS        (0x00U) /* Full-duplex synchronous serial communications */\r
+#define _RSPI_TRANSMIT_ONLY                  (0x02U) /* Serial communications with transmit only operations */\r
+/* Mode Fault Error Detection Enable (MODFEN) */\r
+#define _RSPI_MODE_FAULT_DETECT_DISABLED     (0x00U) /* Disables the detection of mode fault error */\r
+#define _RSPI_MODE_FAULT_DETECT_ENABLED      (0x04U) /* Enables the detection of mode fault error */\r
+/* RSPI Master/Slave Mode Select (MSTR) */\r
+#define _RSPI_SLAVE_MODE                     (0x00U) /* Slave mode */\r
+#define _RSPI_MASTER_MODE                    (0x08U) /* Master mode */\r
+/* RSPI Error Interrupt Enable (SPEIE) */\r
+#define _RSPI_ERROR_INTERRUPT_DISABLED       (0x00U) /* Disables the generation of RSPI error interrupt */\r
+#define _RSPI_ERROR_INTERRUPT_ENABLED        (0x10U) /* Enables the generation of RSPI error interrupt */\r
+/* RSPI Transmit Interrupt Enable (SPTIE) */\r
+#define _RSPI_TRANSMIT_INTERRUPT_DISABLED    (0x00U) /* Disables the generation of RSPI transmit interrupt */\r
+#define _RSPI_TRANSMIT_INTERRUPT_ENABLED     (0x20U) /* Enables the generation of RSPI transmit interrupt */\r
+/* RSPI Function Enable (SPE) */\r
+#define _RSPI_FUNCTION_DISABLED              (0x00U) /* Disables the RSPI function */\r
+#define _RSPI_FUNCTION_ENABLED               (0x40U) /* Enables the RSPI function */\r
+/* RSPI Receive Interrupt Enable (SPRIE) */\r
+#define _RSPI_RECEIVE_INTERRUPT_DISABLED     (0x00U) /* Disables the generation of RSPI receive interrupt */\r
+#define _RSPI_RECEIVE_INTERRUPT_ENABLED      (0x80U) /* Enables the generation of RSPI receive interrupt */\r
+\r
+/*\r
+    RSPI Slave Select Polarity Register (SSLP)\r
+*/\r
+/* SSL0 Signal Polarity Setting (SSL0P) */\r
+#define _RSPI_SSL0_POLARITY_LOW              (0x00U) /* SSL0 signal is active low */\r
+#define _RSPI_SSL0_POLARITY_HIGH             (0x01U) /* SSL0 signal is active high */\r
+/* SSL1 Signal Polarity Setting (SSL1P) */\r
+#define _RSPI_SSL1_POLARITY_LOW              (0x00U) /* SSL1 signal is active low */\r
+#define _RSPI_SSL1_POLARITY_HIGH             (0x02U) /* SSL1 signal is active high */\r
+/* SSL2 Signal Polarity Setting (SSL2P) */\r
+#define _RSPI_SSL2_POLARITY_LOW              (0x00U) /* SSL2 signal is active low */\r
+#define _RSPI_SSL2_POLARITY_HIGH             (0x04U) /* SSL2 signal is active high */\r
+/* SSL3 Signal Polarity Setting (SSL3P) */\r
+#define _RSPI_SSL3_POLARITY_LOW              (0x00U) /* SSL3 signal is active low */\r
+#define _RSPI_SSL3_POLARITY_HIGH             (0x08U) /* SSL3 signal is active high */\r
+\r
+/*\r
+    RSPI Pin Control Register (SPPCR)\r
+*/\r
+/* RSPI Loopback (SPLP) */\r
+#define _RSPI_LOOPBACK_DISABLED              (0x00U) /* Normal mode */\r
+#define _RSPI_LOOPBACK_ENABLED               (0x01U) /* Loopback mode (reversed transmit data = receive data) */\r
+/* RSPI Loopback 2 (SPLP2) */\r
+#define _RSPI_LOOPBACK2_DISABLED             (0x00U) /* Normal mode */\r
+#define _RSPI_LOOPBACK2_ENABLED              (0x02U) /* Loopback mode (transmit data = receive data) */\r
+/* Output pin mode (SPOM) */\r
+#define _RSPI_OUTPUT_PIN_CMOS                (0x00U) /* CMOS output */\r
+#define _RSPI_OUTPUT_PIN_OPEN_DRAIN          (0x04U) /* Open-drain output */\r
+/* MOSI Idle Fixed Value (MOIFV) */\r
+#define _RSPI_MOSI_LEVEL_LOW                 (0x00U) /* Level output on MOSIA during idling corresponds to low */\r
+#define _RSPI_MOSI_LEVEL_HIGH                (0x10U) /* Level output on MOSIA during idling corresponds to high */\r
+/* MOSI Idle Value Fixing Enable (MOIFE) */\r
+#define _RSPI_MOSI_FIXING_PREV_TRANSFER      (0x00U) /* MOSI output value equals final data from previous transfer */\r
+#define _RSPI_MOSI_FIXING_MOIFV_BIT          (0x20U) /* MOSI output value equals the value set in the MOIFV bit */\r
+\r
+/*\r
+    RSPI Sequence Control Register (SPSCR)\r
+*/\r
+/* RSPI Sequence Length Specification (SPSLN[2:0]) */\r
+#define _RSPI_SEQUENCE_LENGTH_1              (0x00U) /* 0 -> 0... */\r
+#define _RSPI_SEQUENCE_LENGTH_2              (0x01U) /* 0 -> 1 -> 0... */\r
+#define _RSPI_SEQUENCE_LENGTH_3              (0x02U) /* 0 -> 1 -> 2 -> 0... */\r
+#define _RSPI_SEQUENCE_LENGTH_4              (0x03U) /* 0 -> 1 -> 2 -> 3 -> 0... */\r
+#define _RSPI_SEQUENCE_LENGTH_5              (0x04U) /* 0 -> 1 -> 2 -> 3 -> 4 -> 0... */\r
+#define _RSPI_SEQUENCE_LENGTH_6              (0x05U) /* 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 0... */\r
+#define _RSPI_SEQUENCE_LENGTH_7              (0x06U) /* 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 0... */\r
+#define _RSPI_SEQUENCE_LENGTH_8              (0x07U) /* 0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 0... */\r
+\r
+/*\r
+    RSPI Data Control Register (SPDCR)\r
+*/\r
+/* Number of Frames Specification (SPFC[1:0]) */\r
+#define _RSPI_FRAMES_1                       (0x00U) /* 1 frame */\r
+#define _RSPI_FRAMES_2                       (0x01U) /* 2 frames */\r
+#define _RSPI_FRAMES_3                       (0x02U) /* 3 frames */\r
+#define _RSPI_FRAMES_4                       (0x03U) /* 4 frames */\r
+/* RSPI Receive/Transmit Data Selection (SPRDTD) */\r
+#define _RSPI_READ_SPDR_RX_BUFFER            (0x00U) /* read SPDR values from receive buffer */\r
+#define _RSPI_READ_SPDR_TX_BUFFER            (0x10U) /* read SPDR values from transmit buffer (transmit buffer empty) */\r
+/* RSPI Longword Access/Word Access Specification (SPLW) */ \r
+#define _RSPI_ACCESS_WORD                    (0x00U) /* SPDR is accessed in words */\r
+#define _RSPI_ACCESS_LONGWORD                (0x20U) /* SPDR is accessed in longwords */\r
+\r
+/*\r
+    RSPI Clock Delay Register (SPCKD)\r
+*/\r
+/* RSPCK Delay Setting (SCKDL[2:0]) */\r
+#define _RSPI_RSPCK_DELAY_1                  (0x00U) /* 1 RSPCK */\r
+#define _RSPI_RSPCK_DELAY_2                  (0x01U) /* 2 RSPCK */\r
+#define _RSPI_RSPCK_DELAY_3                  (0x02U) /* 3 RSPCK */\r
+#define _RSPI_RSPCK_DELAY_4                  (0x03U) /* 4 RSPCK */\r
+#define _RSPI_RSPCK_DELAY_5                  (0x04U) /* 5 RSPCK */\r
+#define _RSPI_RSPCK_DELAY_6                  (0x05U) /* 6 RSPCK */\r
+#define _RSPI_RSPCK_DELAY_7                  (0x06U) /* 7 RSPCK */\r
+#define _RSPI_RSPCK_DELAY_8                  (0x07U) /* 8 RSPCK */\r
+\r
+/*\r
+    RSPI Slave Select Negation Delay Register (SSLND)\r
+*/\r
+/* SSL Negation Delay Setting (SLNDL[2:0]) */\r
+#define _RSPI_SSL_NEGATION_DELAY_1           (0x00U) /* 1 RSPCK */\r
+#define _RSPI_SSL_NEGATION_DELAY_2           (0x01U) /* 2 RSPCK */\r
+#define _RSPI_SSL_NEGATION_DELAY_3           (0x02U) /* 3 RSPCK */\r
+#define _RSPI_SSL_NEGATION_DELAY_4           (0x03U) /* 4 RSPCK */\r
+#define _RSPI_SSL_NEGATION_DELAY_5           (0x04U) /* 5 RSPCK */\r
+#define _RSPI_SSL_NEGATION_DELAY_6           (0x05U) /* 6 RSPCK */\r
+#define _RSPI_SSL_NEGATION_DELAY_7           (0x06U) /* 7 RSPCK */\r
+#define _RSPI_SSL_NEGATION_DELAY_8           (0x07U) /* 8 RSPCK */\r
+\r
+/*\r
+    RSPI Next-Access Delay Register (SPND)\r
+*/\r
+/* RSPI Next-Access Delay Setting (SPNDL[2:0]) */\r
+#define _RSPI_NEXT_ACCESS_DELAY_1            (0x00U) /* 1 RSPCK + 2 SERICLK */\r
+#define _RSPI_NEXT_ACCESS_DELAY_2            (0x01U) /* 2 RSPCK + 2 SERICLK */\r
+#define _RSPI_NEXT_ACCESS_DELAY_3            (0x02U) /* 3 RSPCK + 2 SERICLK */\r
+#define _RSPI_NEXT_ACCESS_DELAY_4            (0x03U) /* 4 RSPCK + 2 SERICLK */\r
+#define _RSPI_NEXT_ACCESS_DELAY_5            (0x04U) /* 5 RSPCK + 2 SERICLK */\r
+#define _RSPI_NEXT_ACCESS_DELAY_6            (0x05U) /* 6 RSPCK + 2 SERICLK */\r
+#define _RSPI_NEXT_ACCESS_DELAY_7            (0x06U) /* 7 RSPCK + 2 SERICLK */\r
+#define _RSPI_NEXT_ACCESS_DELAY_8            (0x07U) /* 8 RSPCK + 2 SERICLK */\r
+\r
+/*\r
+    RSPI Control Register 2 (SPCR2)\r
+*/\r
+/* Parity Enable (SPPE) */\r
+#define _RSPI_PARITY_DISABLE                 (0x00U) /* Does not add parity bit to transmit data */\r
+#define _RSPI_PARITY_ENABLE                  (0x01U) /* Adds the parity bit to transmit data */\r
+/* Parity Mode (SPOE) */\r
+#define _RSPI_PARITY_EVEN                    (0x00U) /* Selects even parity for use in transmission and reception */\r
+#define _RSPI_PARITY_ODD                     (0x02U) /* Selects odd parity for use in transmission and reception */\r
+/* RSPI Idle Interrupt Enable (SPIIE) */\r
+#define _RSPI_IDLE_INTERRUPT_DISABLED        (0x00U) /* Disables the generation of RSPI idle interrupt */\r
+#define _RSPI_IDLE_INTERRUPT_ENABLED         (0x04U) /* Enables the generation of RSPI idle interrupt */\r
+/* Parity Self-Testing (PTE) */\r
+#define _RSPI_SELF_TEST_DISABLED             (0x00U) /* Disables the self-diagnosis function of the parity circuit */\r
+#define _RSPI_SELF_TEST_ENABLED              (0x08U) /* Enables the self-diagnosis function of the parity circuit */\r
+/* RSPCK Auto-Stop Function Enable (SCKASE) */\r
+#define _RSPI_AUTO_STOP_DISABLED             (0x00U) /* Disables the RSPCK auto-stop function */\r
+#define _RSPI_AUTO_STOP_ENABLED              (0x10U) /* Enables the RSPCK auto-stop function */\r
+\r
+/*\r
+    RSPI Command Registers 0 to 7 (SPCMD0 to SPCMD7)\r
+*/\r
+/* RSPCK Phase Setting (CPHA) */\r
+#define _RSPI_RSPCK_SAMPLING_ODD           (0x0000U) /* Data sampling on odd edge, data variation on even edge */\r
+#define _RSPI_RSPCK_SAMPLING_EVEN          (0x0001U) /* Data variation on odd edge, data sampling on even edge */\r
+/* RSPCK Polarity Setting (CPOL) */\r
+#define _RSPI_RSPCK_POLARITY_LOW           (0x0000U) /* RSPCK is low when idle */\r
+#define _RSPI_RSPCK_POLARITY_HIGH          (0x0002U) /* RSPCK is high when idle */\r
+/* Bit Rate Division Setting (BRDV[1:0]) */\r
+#define _RSPI_BASE_BITRATE_1               (0x0000U) /* These bits select the base bit rate */\r
+#define _RSPI_BASE_BITRATE_2               (0x0004U) /* These bits select the base bit rate divided by 2 */\r
+#define _RSPI_BASE_BITRATE_4               (0x0008U) /* These bits select the base bit rate divided by 4 */\r
+#define _RSPI_BASE_BITRATE_8               (0x000CU) /* These bits select the base bit rate divided by 8 */\r
+/* SSL Signal Assertion Setting (SSLA[2:0]) */\r
+#define _RSPI_SIGNAL_ASSERT_SSL0           (0x0000U) /* SSL0 */\r
+#define _RSPI_SIGNAL_ASSERT_SSL1           (0x0010U) /* SSL1 */\r
+#define _RSPI_SIGNAL_ASSERT_SSL2           (0x0020U) /* SSL2 */\r
+#define _RSPI_SIGNAL_ASSERT_SSL3           (0x0030U) /* SSL3 */\r
+/* SSL Signal Level Keeping (SSLKP) */\r
+#define _RSPI_SSL_KEEP_DISABLE             (0x0000U) /* Negates all SSL signals upon completion of transfer */\r
+#define _RSPI_SSL_KEEP_ENABLE              (0x0080U) /* Keep SSL level from end of transfer till next access */\r
+/* RSPI Data Length Setting (SPB[3:0]) */\r
+#define _RSPI_DATA_LENGTH_BITS_8           (0x0400U) /* 8 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_9           (0x0800U) /* 9 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_10          (0x0900U) /* 10 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_11          (0x0A00U) /* 11 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_12          (0x0B00U) /* 12 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_13          (0x0C00U) /* 13 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_14          (0x0D00U) /* 14 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_15          (0x0E00U) /* 15 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_16          (0x0F00U) /* 16 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_20          (0x0000U) /* 20 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_24          (0x0100U) /* 24 bits */\r
+#define _RSPI_DATA_LENGTH_BITS_32          (0x0200U) /* 32 bits */\r
+/* RSPI LSB First (LSBF) */\r
+#define _RSPI_MSB_FIRST                    (0x0000U) /* MSB first */\r
+#define _RSPI_LSB_FIRST                    (0x1000U) /* LSB first */\r
+/* RSPI Next-Access Delay Enable (SPNDEN) */\r
+#define _RSPI_NEXT_ACCESS_DELAY_DISABLE    (0x0000U) /* Next-access delay of 1 RSPCK + 2 SERICLK */\r
+#define _RSPI_NEXT_ACCESS_DELAY_ENABLE     (0x2000U) /* Next-access delay equal to setting of SPND register */\r
+/* SSL Negation Delay Setting Enable (SLNDEN) */\r
+#define _RSPI_NEGATION_DELAY_DISABLE       (0x0000U) /* SSL negation delay of 1 RSPCK */\r
+#define _RSPI_NEGATION_DELAY_ENABLE        (0x4000U) /* SSL negation delay equal to setting of SSLND register */\r
+/* RSPCK Delay Setting Enable (SCKDEN) */\r
+#define _RSPI_RSPCK_DELAY_DISABLE          (0x0000U) /* RSPCK delay of 1 RSPCK */\r
+#define _RSPI_RSPCK_DELAY_ENABLE           (0x8000U) /* RSPCK delay equal to setting of the SPCKD register */\r
+\r
+/*\r
+    Interrupt Priority Level Store Register n (PRLn)\r
+*/\r
+/* Interrupt Priority Level Store (PRL[3:0]) */\r
+#define _RSPI_PRIORITY_LEVEL0                (0x00000000UL) /* Level 0 (highest) */\r
+#define _RSPI_PRIORITY_LEVEL1                (0x00000001UL) /* Level 1 */\r
+#define _RSPI_PRIORITY_LEVEL2                (0x00000002UL) /* Level 2 */\r
+#define _RSPI_PRIORITY_LEVEL3                (0x00000003UL) /* Level 3 */\r
+#define _RSPI_PRIORITY_LEVEL4                (0x00000004UL) /* Level 4 */\r
+#define _RSPI_PRIORITY_LEVEL5                (0x00000005UL) /* Level 5 */\r
+#define _RSPI_PRIORITY_LEVEL6                (0x00000006UL) /* Level 6 */\r
+#define _RSPI_PRIORITY_LEVEL7                (0x00000007UL) /* Level 7 */\r
+#define _RSPI_PRIORITY_LEVEL8                (0x00000008UL) /* Level 8 */\r
+#define _RSPI_PRIORITY_LEVEL9                (0x00000009UL) /* Level 9 */\r
+#define _RSPI_PRIORITY_LEVEL10               (0x0000000AUL) /* Level 10 */\r
+#define _RSPI_PRIORITY_LEVEL11               (0x0000000BUL) /* Level 11 */\r
+#define _RSPI_PRIORITY_LEVEL12               (0x0000000CUL) /* Level 12 */\r
+#define _RSPI_PRIORITY_LEVEL13               (0x0000000DUL) /* Level 13 */\r
+#define _RSPI_PRIORITY_LEVEL14               (0x0000000EUL) /* Level 14 */\r
+#define _RSPI_PRIORITY_LEVEL15               (0x0000000FUL) /* Level 15 */\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#define _RSPI1_DIVISOR                       (0x4AU)\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+void R_RSPI1_Create(void);\r
+void R_RSPI1_Start(void);\r
+void R_RSPI1_Stop(void);\r
+MD_STATUS R_RSPI1_Send(const uint32_t * tx_buf, uint16_t tx_num);\r
+void r_rspi1_callback_transmitend(void);\r
+void r_rspi1_callback_error(uint8_t err_type);\r
+\r
+/* Start user code for function. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#endif\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_rspi_user.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_rspi_user.c
new file mode 100644 (file)
index 0000000..054683e
--- /dev/null
@@ -0,0 +1,188 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_rspi_user.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for RSPI module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_rspi.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+#include "r_typedefs.h"\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+extern const uint32_t * gp_rspi1_tx_address;         /* RSPI1 transmit buffer address */\r
+extern uint16_t         g_rspi1_tx_count;            /* RSPI1 transmit data number */\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: r_rspi1_transmit_interrupt\r
+* Description  : This function is SPTI1 interrupt service routine.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_rspi1_transmit_interrupt(void)\r
+{\r
+    uint16_t frame_cnt;\r
+        \r
+    /* Clear the interrupt source */\r
+    VIC.PIC2.LONG = 0x00200000UL;\r
+\r
+    for (frame_cnt = 0U; frame_cnt < (_RSPI_FRAMES_1 + 1U); frame_cnt++)\r
+    {\r
+        if (g_rspi1_tx_count > 0U)\r
+        {\r
+            /* Write data for transmission */\r
+            RSPI1.SPDR.LONG = (*(uint32_t*)gp_rspi1_tx_address);\r
+            gp_rspi1_tx_address++;\r
+            g_rspi1_tx_count--;\r
+        }\r
+        else\r
+        {\r
+            /* Disable transmit interrupt */\r
+            RSPI1.SPCR.BIT.SPTIE = 0U;\r
+\r
+            /* Enable idle interrupt */\r
+            RSPI1.SPCR2.BIT.SPIIE = 1U;\r
+            break;\r
+        }\r
+    }\r
+\r
+    /* Dummy write */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_rspi1_error_interrupt\r
+* Description  : This function is SPEI1 interrupt service routine.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_rspi1_error_interrupt(void)\r
+{\r
+    uint8_t err_type;\r
+\r
+    /* Disable RSPI function */\r
+    RSPI1.SPCR.BIT.SPE = 0U;\r
+\r
+    /* Disable transmit interrupt */\r
+    RSPI1.SPCR.BIT.SPTIE = 0U;\r
+\r
+    /* Disable error interrupt */\r
+    RSPI1.SPCR.BIT.SPEIE = 0U;\r
+\r
+    /* Disable idle interrupt */\r
+    RSPI1.SPCR2.BIT.SPIIE = 0U;\r
+\r
+    /* Clear error sources */\r
+    err_type = RSPI1.SPSR.BYTE;\r
+    RSPI1.SPSR.BYTE = 0xA0U;\r
+\r
+    if (err_type != 0U)\r
+    {\r
+        r_rspi1_callback_error(err_type);\r
+    }\r
+    /* Wait the interrupt signal is disabled */\r
+    while (0U != (VIC.IRQS2.LONG & 0x00400000UL))\r
+    {\r
+        VIC.IEC2.LONG = 0x00400000UL;\r
+    }\r
+    \r
+    VIC.IEN2.LONG |= 0x00400000UL;\r
+    \r
+    /* Dummy write */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_rspi1_idle_interrupt\r
+* Description  : This function is SPII1 interrupt service routine.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_rspi1_idle_interrupt(void)\r
+{\r
+    /* Disable RSPI function */\r
+    RSPI1.SPCR.BIT.SPE = 0U;\r
+    \r
+    /* Disable idle interrupt */\r
+    RSPI1.SPCR2.BIT.SPIIE = 0U;\r
+    \r
+    r_rspi1_callback_transmitend();\r
+    \r
+    /* Wait the interrupt signal is disabled */\r
+    while (0U != (VIC.IRQS2.LONG & 0x00800000UL))\r
+    {\r
+        VIC.IEC2.LONG = 0x00800000UL;\r
+    }\r
+    \r
+    VIC.IEN2.LONG |= 0x00800000UL;\r
+    \r
+    /* Dummy write */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_rspi1_callback_transmitend\r
+* Description  : This function is a callback function when RSPI1 finishes transmission.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_rspi1_callback_transmitend(void)\r
+{\r
+    /* Start user code. Do not edit comment generated here */\r
+    /* End user code. Do not edit comment generated here */\r
+}\r
+\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: r_rspi1_callback_error\r
+* Description  : This function is a callback function when RSPI1 error occurs.\r
+* Arguments    : err_type -\r
+*                    error type value\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_rspi1_callback_error(uint8_t err_type)\r
+{\r
+    /* Start user code. Do not edit comment generated here */\r
+\r
+    /* Used to suppress the warning message generated for unused variables */\r
+    UNUSED_VARIABLE(err_type);\r
+\r
+    /* End user code. Do not edit comment generated here */\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_s12ad.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_s12ad.c
new file mode 100644 (file)
index 0000000..8f583c7
--- /dev/null
@@ -0,0 +1,200 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_s12ad.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for S12AD module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_s12ad.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_S12AD0_Create\r
+* Description  : This function initializes the AD0 converter.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_S12AD0_Create(void)\r
+{\r
+    /* Cancel S12ADC0 module stop state */\r
+    MSTP(S12ADC0) = 0U;\r
+\r
+    /* Disable and clear S12ADI0, S12GBADI0, S12CMPI0 interrupt flags */\r
+    S12ADC0.ADCSR.BIT.ADIE = 0U;\r
+    S12ADC0.ADCSR.BIT.GBADIE = 0U;\r
+    S12ADC0.ADCMPCR.BIT.CMPIE = 0U;\r
+    VIC.IEC1.LONG = 0x00000008UL;\r
+\r
+    /* Set S12AD0 control registers */\r
+    S12ADC0.ADDISCR.BYTE = _AD0_DISCONECT_SETTING;\r
+    S12ADC0.ADCSR.WORD = _AD_DBLTRIGGER_DISABLE | _AD_SCAN_END_INTERRUPT_ENABLE | _AD_SINGLE_SCAN_MODE;\r
+    S12ADC0.ADCER.WORD = _AD_AUTO_CLEARING_DISABLE | _AD_RIGHT_ALIGNMENT | _AD_RESOLUTION_12BIT;\r
+    S12ADC0.ADADC.BYTE = _AD_1_TIME_CONVERSION | _AD_ADDITION_MODE;\r
+\r
+    /* Set channels and sampling time */\r
+    S12ADC0.ADANSA.WORD = _AD0_CHANNEL_SELECT_A;\r
+    S12ADC0.ADADS.WORD = _AD0_ADDAVG_CHANNEL_SELECT;\r
+    S12ADC0.ADSSTR7.BYTE = _AD0_SAMPLING_STATE_7;\r
+\r
+    /* Set compare control register */\r
+    S12ADC0.ADCMPCR.BYTE = _AD_WINDOWFUNCTION_DISABLE;\r
+    S12ADC0.ADCMPANSR.WORD = _AD0_COMPARECHANNEL_SELECT;\r
+    S12ADC0.ADCMPLR.WORD = _AD0_COMPARELEVEL_SELECT;\r
+    S12ADC0.ADCMPDR0 = 0x0000U;\r
+\r
+    /* Set S12ADI0 edge detection type */\r
+    VIC.PLS1.LONG |= 0x00000008UL;\r
+\r
+    /* Set S12ADI0 interrupt priority level */\r
+    VIC.PRL35.LONG = _AD_PRIORITY_LEVEL0;\r
+\r
+    /* Set S12ADI0 interrupt address */\r
+    VIC.VAD35.LONG = (uint32_t)r_s12ad_s12adi0_interrupt;\r
+\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_S12AD0_Start\r
+* Description  : This function starts the AD0 converter.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_S12AD0_Start(void)\r
+{\r
+    /* Enable S12ADI0 interrupt in ICU */\r
+    VIC.IEN1.LONG |= 0x00000008UL;\r
+\r
+    S12ADC0.ADCSR.BIT.ADST = 1U;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_S12AD0_Stop\r
+* Description  : This function stops the AD0 converter.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_S12AD0_Stop(void)\r
+{\r
+    S12ADC0.ADCSR.BIT.ADST = 0U;\r
+\r
+    /* Disable S12ADI0 interrupt in ICU */\r
+    VIC.IEC1.LONG = 0x00000008UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_S12AD0_Get_ValueResult\r
+* Description  : This function gets result from the AD0 converter.\r
+* Arguments    : channel -\r
+*                    channel of data register to be read\r
+*                buffer -\r
+*                    buffer pointer\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_S12AD0_Get_ValueResult(ad_channel_t channel, uint16_t * const buffer)\r
+{\r
+    if (channel == ADSELFDIAGNOSIS)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADRD);\r
+    }\r
+    else if (channel == ADCHANNEL0)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDR0);\r
+    }\r
+    else if (channel == ADCHANNEL1)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDR1);\r
+    }\r
+    else if (channel == ADCHANNEL2)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDR2);\r
+    }\r
+    else if (channel == ADCHANNEL3)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDR3);\r
+    }\r
+    else if (channel == ADCHANNEL4)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDR4);\r
+    }\r
+    else if (channel == ADCHANNEL5)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDR5);\r
+    }\r
+    else if (channel == ADCHANNEL6)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDR6);\r
+    }\r
+    else if (channel == ADCHANNEL7)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDR7);\r
+    }\r
+    else if (channel == ADTEMPSENSOR)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADTSDR);\r
+    }\r
+    else if (channel == ADDATADUPLICATION)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDBLDR);\r
+    }\r
+    else if (channel == ADDATADUPLICATIONA)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDBLDRA);\r
+    }\r
+    else if (channel == ADDATADUPLICATIONB)\r
+    {\r
+        *buffer = (uint16_t)(S12ADC0.ADDBLDRB);\r
+    }\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_S12AD0_Set_CompareValue\r
+* Description  : This function sets reference data for AD0 comparison.\r
+* Arguments    : reg_value0 -\r
+*                    reference data 0 for comparison\r
+*                reg_value1 -\r
+*                    reference data 1 for comparison\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_S12AD0_Set_CompareValue(uint16_t reg_value0, uint16_t reg_value1 )\r
+{\r
+     S12ADC0.ADCMPDR0 = reg_value0;\r
+     S12ADC0.ADCMPDR1 = reg_value1;\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_s12ad.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_s12ad.h
new file mode 100644 (file)
index 0000000..722c25f
--- /dev/null
@@ -0,0 +1,347 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_s12ad.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for S12AD module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef S12AD_H\r
+#define S12AD_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+\r
+/*\r
+    A/D control register (ADCSR)\r
+*/\r
+/* Group B scan end interrupt enable (GBADIE) */\r
+#define _AD_GBADI_DISABLE                   (0x0000U) /* Disables S12GBADI interrupt generation upon group B scan\r
+                                                         completion */\r
+#define _AD_GBADI_ENABLE                    (0x0040U) /* Enables S12GBADI interrupt generation upon group B scan\r
+                                                          completion */\r
+/* Double trigger mode select (DBLE) */\r
+#define _AD_DBLTRIGGER_DISABLE              (0x0000U) /* Disable double trigger mode */\r
+#define _AD_DBLTRIGGER_ENABLE               (0x0080U) /* Enable double trigger mode */\r
+/* Trigger select (EXTRG) */\r
+#define _AD_SYNC_TRIGGER                    (0x0000U) /* A/D conversion started by snychronous trigger */\r
+#define _AD_ASYNC_TRIGGER                   (0x0100U) /* A/D conversion started by asynchronous trigger */\r
+/* Trigger start enable (TRGE) */\r
+#define _AD_SYNCASYNCTRG_DISABLE            (0x0000U) /* A/D conversion synchronous or asynchronous trigger disable */\r
+#define _AD_SYNCASYNCTRG_ENABLE             (0x0200U) /* A/D conversion synchronous or asynchronous trigger enable */\r
+/* Scan end interrupt enable (ADIE) */\r
+#define _AD_SCAN_END_INTERRUPT_DISABLE      (0x0000U) /* Disable S12ADI0 interrupt generation upon scan completion */\r
+#define _AD_SCAN_END_INTERRUPT_ENABLE       (0x1000U) /* Enable S12ADI0 interrupt generation upon scan completion */\r
+/* Scan mode select (ADCS) */\r
+#define _AD_SINGLE_SCAN_MODE                (0x0000U) /* Single scan mode */\r
+#define _AD_GROUP_SCAN_MODE                 (0x2000U) /* Group scan mode */\r
+#define _AD_CONTINUOUS_SCAN_MODE            (0x4000U) /* Continuous scan mode */\r
+/* A/D conversion start (ADST) */\r
+#define _AD_CONVERSION_STOP                 (0x0000U) /* Stop A/D conversion */\r
+#define _AD_CONVERSION_START                (0x8000U) /* Start A/D conversion */\r
+\r
+/*\r
+    A/D converted value addition count select register (ADADC)\r
+*/\r
+/* Addition Count Select (ADC[1:0]) */\r
+#define _AD_1_TIME_CONVERSION               (0x00U) /* 1-time conversion */\r
+#define _AD_2_TIME_CONVERSION               (0x01U) /* 2-time conversion */\r
+#define _AD_3_TIME_CONVERSION               (0x02U) /* 3-time conversion */\r
+#define _AD_4_TIME_CONVERSION               (0x03U) /* 4-time conversion */\r
+/* Average Mode Enable bit (AVEE) */\r
+#define _AD_ADDITION_MODE                   (0x00U) /* Addition mode */\r
+#define _AD_AVERAGE_MODE                    (0x80U) /* Average mode */\r
+\r
+/*\r
+    A/D control extended register (ADCER)\r
+*/\r
+/* A/D Conversion Accuracy Specify (ADPRC) */\r
+#define _AD_RESOLUTION_12BIT                (0x0000U) /* 12 bit resolution */\r
+#define _AD_RESOLUTION_10BIT                (0x0002U) /* 10 bit resolution */\r
+#define _AD_RESOLUTION_8BIT                 (0x0004U) /* 8 bit resolution */\r
+/* Automatic clearing enable (ACE) */\r
+#define _AD_AUTO_CLEARING_DISABLE           (0x0000U) /* Disable auto clearing */\r
+#define _AD_AUTO_CLEARING_ENABLE            (0x0020U) /* Enable auto clearing */\r
+/* A/D Self-diagnosis selection (DIAGVAL) */\r
+#define _AD_SELFTDIAGST_DISABLE             (0x0000U) /* Disable self-diagnosis */\r
+#define _AD_SELFTDIAGST_VREFH0_0            (0x0100U) /* Self-diagnosis using a voltage of 0V */\r
+#define _AD_SELFTDIAGST_VREFH0_HALF         (0x0200U) /* Self-diagnosis using a voltage of VREFH0_1/2*/\r
+#define _AD_SELFTDIAGST_VREFH0              (0x0300U) /* Self-diagnosis using a voltage of VREFH0_1*/\r
+#define _AD_SELFTDIAGST_VREFH1_0            (0x0100U) /* Self-diagnosis using a voltage of 0V */\r
+#define _AD_SELFTDIAGST_VREFH1_HALF         (0x0200U) /* Self-diagnosis using a voltage of VREFH1_1/2*/\r
+#define _AD_SELFTDIAGST_VREFH1              (0x0300U) /* Self-diagnosis using a voltage of VREFH1_1*/\r
+/* A/D Self-diagnostic mode selection (DIAGLD) */\r
+#define _AD_SELFTDIAGST_ROTATION            (0x0000U) /* Rotation mode for self-diagnosis voltage */\r
+#define _AD_SELFTDIAGST_FIX                 (0x0400U) /* Fixed mode for self-diagnosis voltage */\r
+/* A/D Self-diagnostic enable (DIAGM) */\r
+#define _AD_SELFTDIAGST_DISABLE             (0x0000U) /* 12bit self-diagnosis disable */\r
+#define _AD_SELFTDIAGST_ENABLE              (0x0800U) /* 12bit self-diagnosis enable */\r
+/* A/D data register format selection (ADRFMT) */\r
+#define _AD_RIGHT_ALIGNMENT                 (0x0000U) /* Right-alignment for data register format */\r
+#define _AD_LEFT_ALIGNMENT                  (0x8000U) /* Left-alignment for data register format */\r
+\r
+/*\r
+    A/D start trigger select register (ADSTRGR)\r
+*/\r
+/* A/D conversion start trigger select for group B (TRSB) */\r
+#define _AD_TRSB_TRGA0N                     (0x0001U) /* Compare match with or input capture to MTU0.TGRA */\r
+#define _AD_TRSB_TRGA1N                     (0x0002U) /* Compare match with or input capture to MTU1.TGRA */\r
+#define _AD_TRSB_TRGA2N                     (0x0003U) /* Compare match with or input capture to MTU2.TGRA */\r
+#define _AD_TRSB_TRGA3N                     (0x0004U) /* Compare match with or input capture to MTU3.TGRA */\r
+#define _AD_TRSB_TRGA4N                     (0x0005U) /* Compare match with or input capture to MTU4.TGRA,or an\r
+                                                            underflow of MTU4.TCNT (in the trough) in complementary\r
+                                                            PWM mode */\r
+#define _AD_TRSB_TRGA6N                     (0x0006U) /* Compare match with or input capture to MTU6.TGRA */\r
+#define _AD_TRSB_TRGA7N                     (0x0007U) /* Compare match with or input capture to MTU7.TGRA,or an\r
+                                                            underflow of MTU7.TCNT (in the trough) in complementary\r
+                                                            PWM mode */\r
+#define _AD_TRSB_TRG0N                      (0x0008U) /* Compare match with MTU0.TGRE */\r
+#define _AD_TRSB_TRG4AN                     (0x0009U) /* Compare match between MTU4.TADCORA and MTU4.TCNT */\r
+#define _AD_TRSB_TRG4BN                     (0x000AU) /* Compare match between MTU4.TADCORB and MTU4.TCNT */\r
+#define _AD_TRSB_TRG4BN_TRG4AN              (0x000BU) /* Compare match between MTU4.TADCORA and MTU4.TCNT, or\r
+                                                            between MTU4.TADCORB and MTU4.TCNT */\r
+#define _AD_TRSB_TRG4ABN                    (0x000CU) /* Compare match between MTU4.TADCORA and MTU4.TCNT, and\r
+                                                            between MTU4.TADCORB and MTU4.TCNT (when interrupt skipping\r
+                                                            function 2 is in use) */\r
+#define _AD_TRSB_TRG7AN                     (0x000DU) /* Compare match between MTU7.TADCORA and MTU7.TCNT */\r
+#define _AD_TRSB_TRG7BN                     (0x000EU) /* Compare match between MTU7.TADCORB and MTU7.TCNT */\r
+#define _AD_TRSB_TRG7AN_TRG7BN              (0x000FU) /* Compare match between MTU7.TADCORA and MTU7.TCNT, or between\r
+                                                            MTU7.TADCORB and MTU7.TCNT */\r
+#define _AD_TRSB_TRG7ABN                    (0x0010U) /* Compare match between MTU7.TADCORA and MTU7.TCNT, and between\r
+                                                            MTU7.TADCORB and MTU7.TCNT (when interrupt skipping function\r
+                                                            2 is in use) */\r
+#define _AD_TRSB_GTADTRA0N                  (0x0011U) /* Compare match with GPT0.GTADTRA */\r
+#define _AD_TRSB_GTADTRB0N                  (0x0012U) /* Compare match with GPT0.GTADTRB */\r
+#define _AD_TRSB_GTADTRA1N                  (0x0013U) /* Compare match with GPT1.GTADTRA */\r
+#define _AD_TRSB_GTADTRB1N                  (0x0014U) /* Compare match with GPT1.GTADTRB */\r
+#define _AD_TRSB_GTADTRA2N                  (0x0015U) /* Compare match with GPT2.GTADTRA */\r
+#define _AD_TRSB_GTADTRB2N                  (0x0016U) /* Compare match with GPT2.GTADTRB */\r
+#define _AD_TRSB_GTADTRA3N                  (0x0017U) /* Compare match with GPT3.GTADTRA */\r
+#define _AD_TRSB_GTADTRB3N                  (0x0018U) /* Compare match with GPT3.GTADTRB */\r
+#define _AD_TRSB_GTADTRA0N_GTADTRB0N        (0x0019U) /* Compare match with GPT0.GTADTRA or with GPT0.GTADTRB */\r
+#define _AD_TRSB_GTADTRA1N_GTADTRB1N        (0x001AU) /* Compare match with GPT1.GTADTRA or with GPT1.GTADTRB */\r
+#define _AD_TRSB_GTADTRA2N_GTADTRB2N        (0x001BU) /* Compare match with GPT2.GTADTRA or with GPT2.GTADTRB*/\r
+#define _AD_TRSB_GTADTRA3N_GTADTRB3N        (0x001CU) /* Compare match with GPT3.GTADTRA or with GPT3.GTADTRB */\r
+#define _AD_TRSB_TPTRGAN_0                  (0x001FU) /* Compare match with or input capture to TPUn.TGRA(n = 0 to 5) */\r
+#define _AD_TRSB_TPTRG0AN_0                 (0x0020U) /* Compare match with or input capture to TPU0.TGRA */\r
+#define _AD_TRSB_TPTRGAN_1                  (0x0021U) /* Compare match with or input capture to TPUn.TGRA(n = 6 to 11) */\r
+#define _AD_TRSB_TPTRG6AN_1                 (0x0022U) /* Compare match with or input capture to TPU6.TGRA */\r
+#define _AD_TRSB_ELCTRG0N_ELCTRG1N          (0x0030U) /* Trigger from ELC */\r
+\r
+/* A/D conversion start trigger select for group A (TRSA) */\r
+#define _AD_TRSA_ADTRG                      (0x0000U) /* Input pin for the trigger */\r
+#define _AD_TRSA_TRGA0N                     (0x0100U) /* Compare match with or input capture to MTU0.TGRA */\r
+#define _AD_TRSA_TRGA1N                     (0x0200U) /* Compare match with or input capture to MTU1.TGRA */\r
+#define _AD_TRSA_TRGA2N                     (0x0300U) /* Compare match with or input capture to MTU2.TGRA */\r
+#define _AD_TRSA_TRGA3N                     (0x0400U) /* Compare match with or input capture to MTU3.TGRA */\r
+#define _AD_TRSA_TRGA4N                     (0x0500U) /* Compare match with or input capture to MTU4.TGRA or, in\r
+                                                            complementary PWM mode,an underflow of MTU4.TCNT\r
+                                                            (in the trough)*/\r
+#define _AD_TRSA_TRGA6N                     (0x0600U) /* Compare match with or input capture to MTU6.TGRA */\r
+#define _AD_TRSA_TRGA7N                     (0x0700U) /* Compare match with or input capture to MTU7.TGRA or, in\r
+                                                            complementary PWM mode,an underflow of MTU7.TCNT\r
+                                                            (in the trough)*/\r
+#define _AD_TRSA_TRG0N                      (0x0800U) /* Compare match with MTU0.TGRE */\r
+#define _AD_TRSA_TRG4AN                     (0x0900U) /* Compare match between MTU4.TADCORA and MTU4.TCNT */\r
+#define _AD_TRSA_TRG4BN                     (0x0A00U) /* Compare match between MTU4.TADCORB and MTU4.TCNT */\r
+#define _AD_TRSA_TRG4BN_TRG4AN              (0x0B00U) /* Compare match between MTU4.TADCORA and MTU4.TCNT, or between\r
+                                                            MTU4.TADCORB and MTU4.TCNT */\r
+#define _AD_TRSA_TRG4ABN                    (0x0C00U) /* Compare match between MTU4.TADCORA and MTU4.TCNT, and between\r
+                                                            MTU4.TADCORB and MTU4.TCNT (when interrupt skipping function\r
+                                                            2 is in use) */\r
+#define _AD_TRSA_TRG7AN                     (0x0D00U) /* Compare match between MTU7.TADCORA and MTU7.TCNT */\r
+#define _AD_TRSA_TRG7BN                     (0x0E00U) /* Compare match between MTU7.TADCORB and MTU7.TCNT */\r
+#define _AD_TRSA_TRG7AN_TRG7BN              (0x0F00U) /* Compare match between MTU7.TADCORA and MTU7.TCNT, or between\r
+                                                            MTU7.TADCORB and MTU7.TCNT */\r
+#define _AD_TRSA_TRG7ABN                    (0x1000U) /* Compare match between MTU7.TADCORA and MTU7.TCNT, and between\r
+                                                            MTU7.TADCORB and MTU7.TCNT (when interrupt skipping function\r
+                                                            2 is in use) */\r
+#define _AD_TRSA_GTADTRA0N                  (0x1100U) /* Compare match with GPT0.GTADTRA */\r
+#define _AD_TRSA_GTADTRB0N                  (0x1200U) /* Compare match with GPT0.GTADTRB */\r
+#define _AD_TRSA_GTADTRA1N                  (0x1300U) /* Compare match with GPT1.GTADTRA */\r
+#define _AD_TRSA_GTADTRB1N                  (0x1400U) /* Compare match with GPT1.GTADTRB */\r
+#define _AD_TRSA_GTADTRA2N                  (0x1500U) /* Compare match with GPT2.GTADTRA */\r
+#define _AD_TRSA_GTADTRB2N                  (0x1600U) /* Compare match with GPT2.GTADTRB */\r
+#define _AD_TRSA_GTADTRA3N                  (0x1700U) /* Compare match with GPT3.GTADTRA */\r
+#define _AD_TRSA_GTADTRB3N                  (0x1800U) /* Compare match with GPT3.GTADTRB */\r
+#define _AD_TRSA_GTADTRA0N_GTADTRB0N        (0x1900U) /* Compare match with GPT0.GTADTRA or with GPT0.GTADTRB */\r
+#define _AD_TRSA_GTADTRA1N_GTADTRB1N        (0x1A00U) /* Compare match with GPT1.GTADTRA or with GPT1.GTADTRB */\r
+#define _AD_TRSA_GTADTRA2N_GTADTRB2N        (0x1B00U) /* Compare match with GPT2.GTADTRA or with GPT2.GTADTRB */\r
+#define _AD_TRSA_GTADTRA3N_GTADTRB3N        (0x1C00U) /* Compare match with GPT3.GTADTRA or with GPT3.GTADTRB */\r
+#define _AD_TRSA_TPTRGAN_0                  (0x1F00U) /* Compare match with or input capture to TPUn.TGRA(n= 0 to 5) */\r
+#define _AD_TRSA_TPTRG0AN_0                 (0x2000U) /* Compare match with or input capture to TPU0.TGRA */\r
+#define _AD_TRSA_TPTRGAN_1                  (0x2100U) /* Compare match with or input capture to TPUn.TGRA(n= 6 to 11) */\r
+#define _AD_TRSA_TPTRG6AN_1                 (0x2200U) /* Compare match with or input capture to TPU6.TGRA */\r
+#define _AD_TRSA_ELCTRG0N_ELCTRG1N          (0x3000U) /* Trigger from ELC */\r
+\r
+/*\r
+    A/D converted extended input control register (ADEXICR)\r
+*/\r
+/* Temperature sensor output A/D conversion value addition mode selection (TSSAD) */\r
+#define _AD_TEMP_ADDITION_DISABLE           (0x0000U) /* Temperature sensor output A/D converted value addition/average\r
+                                                            mode disabled */\r
+#define _AD_TEMP_ADDITION_ENABLE            (0x0001U) /* Temperature sensor output A/D converted value addition/average\r
+                                                            mode enabled */\r
+/* Temperature sensor output A/D conversion select (TSSA) */\r
+#define _AD_TEMP_GROUPA_DISABLE             (0x0000U) /* A/D conversion of temperature sensor output is disabled in \r
+                                                            group A  */\r
+#define _AD_TEMP_GROUPA_ENABLE              (0x0100U) /* A/D conversion of temperature sensor output is enabled in \r
+                                                            group A  */\r
+/* Temperature sensor output A/D conversion select (TSSB) */\r
+#define _AD_TEMP_GROUPB_DISABLE             (0x0000U) /* A/D conversion of temperature sensor output is disabled in \r
+                                                            group B  */\r
+#define _AD_TEMP_GROUPB_ENABLE              (0x0400U) /* A/D conversion of temperature sensor output is enabled in \r
+                                                            group B  */\r
+/* Extended analog input selection (EXSEL) */\r
+#define _AD_EXTNANEX1_IN_DISABLE            (0x0000U) /* Extended analog input disable */\r
+#define _AD_EXTNANEX1_IN_ENABLE             (0x2000U) /* Extended analog input enable */\r
+/* Extended analog output control (EXOEN) */\r
+#define _AD_EXTNANEX0_OUT_DISABLE           (0x0000U) /* Extended analog output disable */\r
+#define _AD_EXTNANEX0_IN_ENABLE             (0x8000U) /* Extended analog output enable */\r
+\r
+/*\r
+    A/D Group Scan Priority Control Register (ADGSPCR)\r
+*/\r
+/* Group-A Priority Control Setting (PGS) */\r
+#define _AD_GPAPRIORITY_DISABLE             (0x0000U) /* Operation is without group A priority control */\r
+#define _AD_GPAPRIORITY_ENABLE              (0x0001U) /* Operation is with group A priority control */\r
+/* Group B Restart Setting (GBRSCN) */\r
+#define _AD_GPBRESTART_DISABLE              (0x0000U) /* Group B not restart after discontinued due to Group A\r
+                                                     priority */\r
+#define _AD_GPBRESTART_ENABLE               (0x0002U) /* Group B restart after discontinued due to Group A priority */\r
+/* Group B Single Cycle Scan Continuous Start (GBRP) */\r
+#define _AD_GPBSCSCS_DISABLE                (0x0000U) /* Single cycle scan for group B not continuously activated */\r
+#define _AD_GPBSCSCS_ENABLE                 (0x8000U) /* Single cycle scan for group B is continuously activated */\r
+\r
+/* \r
+    A/D Compare Control Register (ADCMPCR)\r
+*/\r
+/* Window Function Setting (WCMPE) */\r
+#define _AD_WINDOWFUNCTION_DISABLE          (0x00U) /* Window function disabled */ \r
+#define _AD_WINDOWFUNCTION_ENABLE           (0x40U) /* Window function enabled */\r
+/* Compare Interrupt Enable (CMPIE) */\r
+#define _AD_COMPARISON_INTERRUPT_DISABLE    (0x00U) /* S12CMPI interrupt is disabled */ \r
+#define _AD_COMPARISON_INTERRUPT_ENABLE     (0x80U) /* S12CMPI interrupt is enabled */\r
+\r
+/* \r
+    A/D Compare Channel Select Extended Register (ADCMPANSER)\r
+*/\r
+/* Temperature Sensor Output Compare Select(CMPSTS) */\r
+#define _AD_TEMP_COMPARE_DISABLE            (0x00U) /* Temperature sensor output is not a target for comparison. */ \r
+#define _AD_TEMP_COMPARE_ENABLE             (0x01U) /* Temperature sensor output is a target for comparison. */\r
+\r
+/* \r
+    A/D Compare Level Extended Register (ADCMPLER)\r
+*/\r
+/* Temperature Sensor Output Compare Level Select(CMPLTS) */\r
+#define _AD_TEMP0_COMPARELEVEL              (0x00U) /* AD-converted value < ADCMPDR0 register value or A/D-converted\r
+                                                            value > ADCMPDR1 register value */ \r
+#define _AD_TEMP1_COMPARELEVEL              (0x01U) /* ADCMPDR0 register value < A/D-converted value < ADCMPDR1\r
+                                                            register value */\r
+\r
+/* \r
+    A/D Pin-Level Self-Diagnosis Control Register (ADTDCR)\r
+*/\r
+/* Pin-level Self-diagnosis Level Select (TDLV[1:0]) */\r
+#define _AD_EVEN_AVSS0                      (0x00U) /* Input channels with even numbers are discharged to AVSS, \r
+                                                            and input channels with odd numbers are charged to AVCC. */\r
+#define _AD_EVEN_AVCC0                      (0x01U) /* Input channels with even numbers are charged to AVCC, \r
+                                                            and input channels with odd numbers are discharged to AVSS. */\r
+#define _AD_ODD_AVCC0_HALF                  (0x02U) /* Input channels with even numbers are discharged to AVSS, \r
+                                                            and input channels with odd numbers are charged to AVCx1/2. */\r
+#define _AD_EVEN_AVCC0_HALF                 (0x03U) /* Input channels with even numbers are charged to AVCCx1/2, \r
+                                                            and input channels with odd numbers are discharged to AVSS. */\r
+#define _AD_EVEN_AVSS1                      (0x00U) /* Input channels with even numbers are discharged to AVSS, \r
+                                                            and input channels with odd numbers are charged to AVCC. */\r
+#define _AD_EVEN_AVCC1                      (0x01U) /* Input channels with even numbers are charged to AVCC, \r
+                                                            and input channels with odd numbers are discharged to AVSS. */\r
+#define _AD_ODD_AVCC1_HALF                  (0x02U) /* Input channels with even numbers are discharged to AVSS, \r
+                                                            and input channels with odd numbers are charged to AVCx1/2. */\r
+#define _AD_EVEN_AVCC1_HALF                 (0x03U) /* Input channels with even numbers are charged to AVCCx1/2, \r
+                                                            and input channels with odd numbers are discharged to AVSS. */\r
+/* Pin-level Self-diagnosis Enable (TDE) */\r
+#define _AD_PINLVL_ENABLE                   (0x00U) /* Enables pin-level self-diagnosis. */\r
+#define _AD_PINLVL_DISABLE                  (0x80U) /* Disables pin-level self-diagnosis. */\r
+\r
+\r
+/* \r
+    A/D Error Control Register (ADERCR)\r
+*/\r
+/* Overwrite Error Interrupt Enable (OWEIE) */\r
+#define _AD_ERROR_INT_REQUEST_DISABLE       (0x00U) /* Disables interrupt generation when an overwrite error is detected. */\r
+#define _AD_ERROR_INT_REQUEST_ENABLE        (0x04U) /* Enables interrupt generation when an overwrite error is detected. */\r
+\r
+/*\r
+    Interrupt Source Priority Register n (PRLn)\r
+*/\r
+/* Interrupt Priority Level Select (PRL[3:0]) */\r
+#define _AD_PRIORITY_LEVEL0                 (0x00000000UL) /* Level 0 (highest) */\r
+#define _AD_PRIORITY_LEVEL1                 (0x00000001UL) /* Level 1 */\r
+#define _AD_PRIORITY_LEVEL2                 (0x00000002UL) /* Level 2 */\r
+#define _AD_PRIORITY_LEVEL3                 (0x00000003UL) /* Level 3 */\r
+#define _AD_PRIORITY_LEVEL4                 (0x00000004UL) /* Level 4 */\r
+#define _AD_PRIORITY_LEVEL5                 (0x00000005UL) /* Level 5 */\r
+#define _AD_PRIORITY_LEVEL6                 (0x00000006UL) /* Level 6 */\r
+#define _AD_PRIORITY_LEVEL7                 (0x00000007UL) /* Level 7 */\r
+#define _AD_PRIORITY_LEVEL8                 (0x00000008UL) /* Level 8 */\r
+#define _AD_PRIORITY_LEVEL9                 (0x00000009UL) /* Level 9 */\r
+#define _AD_PRIORITY_LEVEL10                (0x0000000AUL) /* Level 10 */\r
+#define _AD_PRIORITY_LEVEL11                (0x0000000BUL) /* Level 11 */\r
+#define _AD_PRIORITY_LEVEL12                (0x0000000CUL) /* Level 12 */\r
+#define _AD_PRIORITY_LEVEL13                (0x0000000DUL) /* Level 13 */\r
+#define _AD_PRIORITY_LEVEL14                (0x0000000EUL) /* Level 14 */\r
+#define _AD_PRIORITY_LEVEL15                (0x0000000FUL) /* Level 15 */\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#define _AD0_CHANNEL_SELECT_A               (0x0080U)\r
+#define _AD0_ADDAVG_CHANNEL_SELECT          (0x0000U)\r
+#define _AD0_DISCONECT_SETTING              (0x00U)\r
+#define _AD0_COMPARECHANNEL_SELECT          (0x0000U)\r
+#define _AD0_COMPARELEVEL_SELECT            (0x0000U)\r
+#define _AD0_SAMPLING_STATE_7               (0x16U)\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+typedef enum\r
+{\r
+    ADCHANNEL0, ADCHANNEL1, ADCHANNEL2, ADCHANNEL3, ADCHANNEL4, ADCHANNEL5, ADCHANNEL6,\r
+    ADCHANNEL7, ADCHANNEL8, ADCHANNEL9, ADCHANNEL10, ADCHANNEL11, ADCHANNEL12,\r
+    ADCHANNEL13, ADCHANNEL14, ADCHANNEL15, ADSELFDIAGNOSIS, ADTEMPSENSOR, ADDATADUPLICATION,\r
+    ADDATADUPLICATIONA, ADDATADUPLICATIONB\r
+} ad_channel_t;\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+void R_S12AD0_Create(void);\r
+void R_S12AD0_Start(void);\r
+void R_S12AD0_Stop(void);\r
+void R_S12AD0_Get_ValueResult(ad_channel_t channel, uint16_t * const buffer);\r
+void R_S12AD0_Set_CompareValue(uint16_t  reg_value0, uint16_t  reg_value1);\r
+\r
+/* Start user code for function. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#endif
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_s12ad_user.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_s12ad_user.c
new file mode 100644 (file)
index 0000000..6ce08b2
--- /dev/null
@@ -0,0 +1,69 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_s12ad_user.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for S12AD module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_s12ad.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: r_s12ad_s12adi0_interrupt\r
+* Description  : This function is ADI0 interrupt service routine.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_s12ad_s12adi0_interrupt(void)\r
+{\r
+    /* Clear the interrupt source S12ADI0 */\r
+    VIC.PIC1.LONG = 0x00000008UL;\r
+\r
+    /* Start user code. Do not edit comment generated here */\r
+    /* End user code. Do not edit comment generated here */\r
+\r
+    /* Dummy write */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_scifa.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_scifa.c
new file mode 100644 (file)
index 0000000..6eb85d0
--- /dev/null
@@ -0,0 +1,266 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_scifa.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for SCIF module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_scifa.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+const uint8_t * gp_scifa2_tx_address;   /* SCIFA2 transmit buffer address */\r
+uint16_t        g_scifa2_tx_count;      /* SCIFA2 transmit data number */\r
+uint8_t *       gp_scifa2_rx_address;   /* SCIFA2 receive buffer address */\r
+uint16_t        g_scifa2_rx_count;      /* SCIFA2 receive data number */\r
+uint16_t        g_scifa2_rx_length;     /* SCIFA2 receive data length */\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_SCIFA2_Create\r
+* Description  : This function initializes SCIFA2.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_SCIFA2_Create(void)\r
+{\r
+    volatile uint16_t dummy;\r
+    uint16_t w_count;\r
+\r
+    /* Cancel SCIFA2 module stop state */\r
+    MSTP(SCIFA2) = 0U;\r
+\r
+    /* Disable TXIF2 interrupt */\r
+    VIC.IEC3.LONG = 0x00008000UL;\r
+\r
+    /* Disable RXIF2 interrupt */\r
+    VIC.IEC3.LONG = 0x00004000UL;\r
+\r
+    /* Disable BRIF2 interrupt */\r
+    VIC.IEC3.LONG = 0x00002000UL;\r
+\r
+    /* Disable DRIF2 interrupt */\r
+    VIC.IEC3.LONG = 0x00010000UL;\r
+\r
+    /* Clear transmit/receive enable bits */\r
+    SCIFA2.SCR.BIT.TE = 0U;\r
+    SCIFA2.SCR.BIT.RE = 0U;\r
+\r
+    /* Reset transmit/receive FIFO data register operation */\r
+    SCIFA2.FCR.BIT.TFRST = 1U;\r
+    SCIFA2.FCR.BIT.RFRST = 1U;\r
+\r
+    /* Read and clear status flags */\r
+    dummy = SCIFA2.FSR.WORD;\r
+    ( void ) dummy;\r
+    SCIFA2.FSR.WORD = 0x00U;\r
+    dummy = (uint16_t) SCIFA2.LSR.BIT.ORER;\r
+    ( void ) dummy;\r
+    SCIFA2.LSR.BIT.ORER = 0U;\r
+\r
+    /* Set clock enable bits */\r
+    SCIFA2.SCR.WORD = _SCIF_INTERNAL_SCK_UNUSED;\r
+\r
+    /* Set transmission/reception format */\r
+    SCIFA2.SMR.WORD = _SCIF_CLOCK_SERICLK_4 | _SCIF_STOP_1 | _SCIF_PARITY_DISABLE | _SCIF_DATA_LENGTH_8 | \r
+                      _SCIF_ASYNCHRONOUS_MODE;\r
+    SCIFA2.SEMR.BYTE = _SCIF_16_BASE_CLOCK | _SCIF_NOISE_FILTER_ENABLE | _SCIF_DATA_TRANSFER_LSB_FIRST | \r
+                       _SCIF_BAUDRATE_SINGLE;\r
+\r
+    /* Clear modulation duty register select */\r
+    SCIFA2.SEMR.BIT.MDDRS = 0U;\r
+\r
+    /* Set bit rate */\r
+    SCIFA2.BRR_MDDR.BRR = 0x3CU;\r
+\r
+    /* Wait for at least 1-bit interval */\r
+    for (w_count = 0U; w_count < _SCIF_1BIT_INTERVAL_2; w_count++)\r
+    {\r
+        nop();\r
+    }\r
+\r
+    /* Set FIFO trigger conditions */\r
+    SCIFA2.FTCR.WORD = _SCIF_TX_FIFO_TRIGGER_NUM_0 | _SCIF_TX_TRIGGER_TFTC_VALID | _SCIF_RX_FIFO_TRIGGER_NUM_1 | \r
+                       _SCIF_RX_TRIGGER_RFTC_VALID;\r
+    SCIFA2.FCR.WORD = _SCIF_LOOPBACK_DISABLE | _SCIF_MODEM_CONTROL_DISABLE;\r
+\r
+    /* Disable transmit/receive FIFO data register reset operation */\r
+    SCIFA2.FCR.BIT.TFRST = 0U;\r
+    SCIFA2.FCR.BIT.RFRST = 0U;\r
+\r
+    /* Set TXIF2 interrupt priority */\r
+    VIC.PRL111.LONG = _SCIF_PRIORITY_LEVEL2;\r
+\r
+    /* Set TXIF2 interrupt address */\r
+    VIC.VAD111.LONG = (uint32_t)r_scifa2_txif2_interrupt;\r
+\r
+    /* Set RXIF2 interrupt priority */\r
+    VIC.PRL110.LONG = _SCIF_PRIORITY_LEVEL3;\r
+\r
+    /* Set RXIF2 interrupt address */\r
+    VIC.VAD110.LONG = (uint32_t)r_scifa2_rxif2_interrupt;\r
+\r
+    /* Set BRIF2 interrupt priority */\r
+    VIC.PRL109.LONG = _SCIF_PRIORITY_LEVEL5;\r
+\r
+    /* Set BRIF2 interrupt address */\r
+    VIC.VAD109.LONG = (uint32_t)r_scifa2_brif2_interrupt;\r
+\r
+    /* Set DRIF2 interrupt priority */\r
+    VIC.PRL112.LONG = _SCIF_PRIORITY_LEVEL4;\r
+\r
+    /* Set DRIF2 interrupt address */\r
+    VIC.VAD112.LONG = (uint32_t)r_scifa2_drif2_interrupt;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_SCIFA2_Start\r
+* Description  : This function starts SCIFA2.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_SCIFA2_Start(void)\r
+{\r
+    /* Enable TXIF2 interrupt */\r
+    VIC.IEN3.LONG |= 0x00008000UL;\r
+\r
+    /* Enable RXIF2 interrupt */\r
+    VIC.IEN3.LONG |= 0x00004000UL;\r
+\r
+    /* Enable BRIF2 interrupt */\r
+    VIC.IEN3.LONG |= 0x00002000UL;\r
+\r
+    /* Enable DRIF2 interrupt */\r
+    VIC.IEN3.LONG |= 0x00010000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_SCIFA2_Stop\r
+* Description  : This function stops SCIFA2.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_SCIFA2_Stop(void)\r
+{\r
+    /* Disable serial transmit */\r
+    SCIFA2.SCR.BIT.TE = 0U;\r
+\r
+    /* Disable serial receive */\r
+    SCIFA2.SCR.BIT.RE = 0U;\r
+\r
+    /* Disable TXI interrupt */\r
+    SCIFA2.SCR.BIT.TIE = 0U;\r
+\r
+    /* Disable RXI and ERI interrupt */\r
+    SCIFA2.SCR.BIT.RIE = 0U;\r
+\r
+    /* Disable TXIF2 interrupt */\r
+    VIC.IEC3.LONG = 0x00008000UL;\r
+\r
+    /* Disable RXIF2 interrupt */\r
+    VIC.IEC3.LONG = 0x00004000UL;\r
+\r
+    /* Disable BRIF2 interrupt */\r
+    VIC.IEC3.LONG = 0x00002000UL;\r
+\r
+    /* Disable DRIF2 interrupt */\r
+    VIC.IEC3.LONG = 0x00010000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_SCIFA2_Serial_Receive\r
+* Description  : This function receives SCIFA2 data.\r
+* Arguments    : rx_buf -\r
+*                    receive buffer pointer (Not used when receive data handled by DMAC)\r
+*                rx_num -\r
+*                    buffer size (Not used when receive data handled by DMAC)\r
+* Return Value : status -\r
+*                    MD_OK or MD_ARGERROR\r
+***********************************************************************************************************************/\r
+MD_STATUS R_SCIFA2_Serial_Receive(uint8_t * rx_buf, uint16_t rx_num)\r
+{\r
+    MD_STATUS status = MD_OK;\r
+\r
+    if (rx_num < 1U)\r
+    {\r
+        status = MD_ARGERROR;\r
+    }\r
+    else\r
+    {\r
+        g_scifa2_rx_count = 0U;\r
+        g_scifa2_rx_length = rx_num;\r
+        gp_scifa2_rx_address = rx_buf;\r
+\r
+        SCIFA2.FTCR.BIT.RFTC = _SCIF_RX_TRIG_NUM_2;\r
+\r
+        SCIFA2.SCR.BIT.RE = 1U;\r
+        SCIFA2.SCR.BIT.RIE = 1U;\r
+        SCIFA2.SCR.BIT.REIE = 1U;\r
+    }\r
+\r
+    return (status);\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_SCIFA2_Serial_Send\r
+* Description  : This function transmits SCIFA2 data.\r
+* Arguments    : tx_buf -\r
+*                    transfer buffer pointer (Not used when transmit data handled by DMAC)\r
+*                tx_num -\r
+*                    buffer size (Not used when transmit data handled by DMAC)\r
+* Return Value : status -\r
+*                    MD_OK or MD_ARGERROR\r
+***********************************************************************************************************************/\r
+MD_STATUS R_SCIFA2_Serial_Send(const uint8_t * tx_buf, uint16_t tx_num)\r
+{\r
+    MD_STATUS status = MD_OK;\r
+\r
+    if (tx_num < 1U)\r
+    {\r
+        status = MD_ARGERROR;\r
+    }\r
+    else\r
+    {\r
+        gp_scifa2_tx_address = tx_buf;\r
+        g_scifa2_tx_count = tx_num;\r
+        SCIFA2.SCR.BIT.TE = 1U;\r
+        SCIFA2.SCR.BIT.TIE = 1U;\r
+    }\r
+\r
+    return (status);\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_scifa.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_scifa.h
new file mode 100644 (file)
index 0000000..0d291e0
--- /dev/null
@@ -0,0 +1,275 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_scifa.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for SCIF module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef SCIF_H\r
+#define SCIF_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+\r
+/*\r
+    Serial mode register (SMR)\r
+*/\r
+/* Clock select (CKS[1:0]) */\r
+#define _SCIF_CLOCK_SERICLK                     (0x0000U) /* SERICLK */\r
+#define _SCIF_CLOCK_SERICLK_4                   (0x0001U) /* SERICLK/4 */\r
+#define _SCIF_CLOCK_SERICLK_16                  (0x0002U) /* SERICLK/16 */\r
+#define _SCIF_CLOCK_SERICLK_64                  (0x0003U) /* SERICLK/64 */\r
+/* Stop bit length (STOP) */\r
+#define _SCIF_STOP_1                            (0x0000U) /* 1 stop bit */\r
+#define _SCIF_STOP_2                            (0x0008U) /* 2 stop bits */\r
+/* Parity mode (PM) */\r
+#define _SCIF_PARITY_EVEN                       (0x0000U) /* Parity even */\r
+#define _SCIF_PARITY_ODD                        (0x0010U) /* Parity odd */\r
+/* Parity enable (PE) */\r
+#define _SCIF_PARITY_DISABLE                    (0x0000U) /* Parity disable */\r
+#define _SCIF_PARITY_ENABLE                     (0x0020U) /* Parity enable */\r
+/* Character length (CHR) */\r
+#define _SCIF_DATA_LENGTH_8                     (0x0000U) /* Data length 8 bits */\r
+#define _SCIF_DATA_LENGTH_7                     (0x0040U) /* Data length 7 bits */\r
+/* Communications mode (CM) */\r
+#define _SCIF_ASYNCHRONOUS_MODE                 (0x0000U) /* Asynchronous mode */\r
+#define _SCIF_CLOCK_SYNCHRONOUS_MODE            (0x0080U) /* Clock synchronous mode */\r
+\r
+/*\r
+    Serial control register (SCR)\r
+*/\r
+/* Clock enable (CKE) */\r
+#define _SCIF_INTERNAL_SCK_UNUSED               (0x0000U) /* Internal clock selected, SCK pin unused */\r
+#define _SCIF_INTERNAL_SCK_OUTPUT               (0x0001U) /* Internal clock selected, SCK pin as clock output */\r
+/* Clock enable (CKE) for clock synchronous mode */\r
+#define _SCIF_INTERNAL_SCK_OUTPUT_SYNC          (0x0000U) /* Internal clock, SCK pin is used for clock output */\r
+#define _SCIF_EXTERNAL_SCK_INPUT_SYNC           (0x0002U) /* External clock, SCK pin is used for clock input */\r
+/* Transmit end interrupt enable (TEIE) */\r
+#define _SCIF_TEI_INTERRUPT_DISABLE             (0x0000U) /* TEI interrupt request disable */\r
+#define _SCIF_TEI_INTERRUPT_ENABLE              (0x0004U) /* TEI interrupt request enable */\r
+/* Receive error interrupt enable (REIE) */\r
+#define _SCIF_ERI_BRI_INTERRUPT_DISABLE         (0x0000U) /* Disable receive-error interrupt and break interrupt */\r
+#define _SCIF_ERI_BRI_INTERRUPT_ENABLE          (0x0008U) /* Enable receive-error interrupt and break interrupt */\r
+/* Receive enable (RE) */\r
+#define _SCIF_RECEIVE_DISABLE                   (0x0000U) /* Disable receive mode */\r
+#define _SCIF_RECEIVE_ENABLE                    (0x0010U) /* Enable receive mode */\r
+/* Transmit enable (TE) */\r
+#define _SCIF_TRANSMIT_DISABLE                  (0x0000U) /* Disable transmit mode */\r
+#define _SCIF_TRANSMIT_ENABLE                   (0x0020U) /* Enable transmit mode */\r
+/* Receive interrupt enable (RIE) */\r
+#define _SCIF_RXI_ERI_DISABLE                   (0x0000U) /* Disable RXI and ERI interrupt requests */\r
+#define _SCIF_RXI_ERI_ENABLE                    (0x0040U) /* Enable RXI and ERI interrupt requests */\r
+/* Transmit interrupt enable (TIE) */\r
+#define _SCIF_TXI_DISABLE                       (0x0000U) /* Disable TXI interrupt requests */\r
+#define _SCIF_TXI_ENABLE                        (0x0080U) /* Enable TXI interrupt requests */\r
+\r
+/*\r
+    FIFO control register (FCR)\r
+*/\r
+/* Loop-Back test (LOOP) */\r
+#define _SCIF_LOOPBACK_DISABLE                  (0x0000U) /* Loop back test is disabled */\r
+#define _SCIF_LOOPBACK_ENABLE                   (0x0001U) /* Loop back test is enabled */\r
+/* Receive FIFO Data Register Reset (RFRST) */\r
+#define _SCIF_RX_FIFO_RESET_DISABLE             (0x0000U) /* FRDR reset operation is disabled */\r
+#define _SCIF_RX_FIFO_RESET_ENABLE              (0x0002U) /* FRDR reset operation is enabled */\r
+/* Transmit FIFO Data Register Reset (TFRST) */\r
+#define _SCIF_TX_FIFO_RESET_DISABLE             (0x0000U) /* FTDR reset operation is disabled */\r
+#define _SCIF_TX_FIFO_RESET_ENABLE              (0x0004U) /* FTDR reset operation is enabled */\r
+/* Modem control enable (MCE) */\r
+#define _SCIF_MODEM_CONTROL_DISABLE             (0x0000U) /* Model signal is disabled */\r
+#define _SCIF_MODEM_CONTROL_ENABLE              (0x0008U) /* Model signal is enabled */\r
+/* Transmit FIFO Data Trigger Number (TTRG[1:0]) */\r
+#define _SCIF_TX_TRIGGER_NUMBER_8               (0x0000U) /* 8 (or 8 when TDFE flag is 1) */\r
+#define _SCIF_TX_TRIGGER_NUMBER_4               (0x0010U) /* 4 (or 12 when TDFE flag is 1) */\r
+#define _SCIF_TX_TRIGGER_NUMBER_2               (0x0020U) /* 2 (or 14 when TDFE flag is 1) */\r
+#define _SCIF_TX_TRIGGER_NUMBER_0               (0x0030U) /* 0 (or 16 when TDFE flag is 1) */\r
+/* Receive FIFO Data Trigger Number (RTRG[1:0]) */\r
+#define _SCIF_RX_TRIGGER_NUMBER_1               (0x0000U) /* 1 */\r
+#define _SCIF_RX_TRIGGER_NUMBER_4               (0x0040U) /* 4 (for asynchronous mode) */\r
+#define _SCIF_RX_TRIGGER_NUMBER_2               (0x0040U) /* 2 (for clock synchronous mode */\r
+#define _SCIF_RX_TRIGGER_NUMBER_8               (0x0080U) /* 8 */\r
+#define _SCIF_RX_TRIGGER_NUMBER_14              (0x00C0U) /* 14 */\r
+/* RTS# Output Active Trigger Number Select (RSTRG[2:0]) */\r
+#define _SCIF_RTS_TRIGGER_NUMBER_15             (0x0000U) /* 15 */\r
+#define _SCIF_RTS_TRIGGER_NUMBER_1              (0x0100U) /* 1 */\r
+#define _SCIF_RTS_TRIGGER_NUMBER_4              (0x0200U) /* 4 */\r
+#define _SCIF_RTS_TRIGGER_NUMBER_6              (0x0300U) /* 6 */\r
+#define _SCIF_RTS_TRIGGER_NUMBER_8              (0x0400U) /* 8 */\r
+#define _SCIF_RTS_TRIGGER_NUMBER_10             (0x0500U) /* 10 */\r
+#define _SCIF_RTS_TRIGGER_NUMBER_12             (0x0600U) /* 12 */\r
+#define _SCIF_RTS_TRIGGER_NUMBER_14             (0x0700U) /* 14 */\r
+\r
+/*\r
+    Serial port register (SPTR)\r
+*/\r
+/* Serial Port Break Data (SPB2DT) */\r
+#define _SCIF_SERIAL_BREAK_DATA_LOW             (0x0000U) /* Input/output data is at low */\r
+#define _SCIF_SERIAL_BREAK_DATA_HIGH            (0x0001U) /* Input/output data is at high */\r
+/* Serial Port Break input/output (SPB2IO) */\r
+#define _SCIF_SERIAL_BREAK_TXD_NO_OUTPUT        (0x0000U) /* SPB2DT bit value is not output to TXD pin */\r
+#define _SCIF_SERIAL_BREAK_TXD_OUTPUT           (0x0002U) /* SPB2DT bit value is output to TXD pin */\r
+/* SCK Port Data (SCKDT) */\r
+#define _SCIF_SCK_DATA_LOW                      (0x0000U) /* Input/output data is at low */\r
+#define _SCIF_SCK_DATA_HIGH                     (0x0004U) /* Input/output data is at high */\r
+/* SCK Port input/output (SCKIO) */\r
+#define _SCIF_SCK_PORT_NO_OUTPUT                (0x0000U) /* SCKDT bit value is not output to SCK pin */\r
+#define _SCIF_SCK_PORT_OUTPUT                   (0x0008U) /* SCKDT bit value is output to SCK pin */\r
+/* CTS# Port Data Select (CTS2DT) */\r
+#define _SCIF_CTS_DATA_0                        (0x0000U) /* Set b4 to 0. Controls CTS# pin with MCE, CTS2IO bit */\r
+#define _SCIF_CTS_DATA_1                        (0x0010U) /* Set b4 to 1. Controls CTS# pin with MCE, CTS2IO bit */\r
+/* CTS# Port Output Specify (CTS2IO) */\r
+#define _SCIF_CTS_OUTPUT_0                      (0x0000U) /* Set b5 to 0. Controls CTS# pin with MCE, CTS2IO bit */\r
+#define _SCIF_CTS_OUTPUT_1                      (0x0020U) /* Set b5 to 1. Controls CTS# pin with MCE, CTS2IO bit */\r
+/* RTS# Port Data Select (RTS2DT) */\r
+#define _SCIF_RTS_DATA_0                        (0x0000U) /* Set b6 to 0. Controls RTS# pin with MCE, RTS2IO bit */\r
+#define _SCIF_RTS_DATA_1                        (0x0040U) /* Set b6 to 1. Controls RTS# pin with MCE, RTS2IO bit */\r
+/* RTS# Port Output Specify (RTS2IO) */\r
+#define _SCIF_RTS_OUTPUT_0                      (0x0000U) /* Set b7 to 0. Controls RTS# pin with MCE, RTS2IO bit */\r
+#define _SCIF_RTS_OUTPUT_1                      (0x0080U) /* Set b7 to 1. Controls RTS# pin with MCE, RTS2IO bit */\r
+\r
+/*\r
+    FIFO Trigger Control Register (FTCR)\r
+*/\r
+/* Transmit FIFO Data Trigger Number (TFTC[4:0]) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_0             (0x0000U) /* 0 (no transmit data trigger) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_1             (0x0001U) /* 1 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_2             (0x0002U) /* 2 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_3             (0x0003U) /* 3 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_4             (0x0004U) /* 4 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_5             (0x0005U) /* 5 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_6             (0x0006U) /* 6 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_7             (0x0007U) /* 7 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_8             (0x0008U) /* 8 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_9             (0x0009U) /* 9 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_10            (0x000AU) /* 10 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_11            (0x000BU) /* 11 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_12            (0x000CU) /* 12 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_13            (0x000DU) /* 13 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_14            (0x000EU) /* 14 (transmit data triggers) */\r
+#define _SCIF_TX_FIFO_TRIGGER_NUM_15            (0x000FU) /* 15 (transmit data triggers) */\r
+/* Transmit Trigger Select (TTRGS) */\r
+#define _SCIF_TX_TRIGGER_TTRG_VALID             (0x0000U) /* TTRG[1:0] bits in FCR are valid */\r
+#define _SCIF_TX_TRIGGER_TFTC_VALID             (0x0080U) /* TFTC[4:0] bits in FTCR are valid */\r
+/* Receive FIFO Data Trigger Number (RFTC[4:0]) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_1             (0x0100U) /* 1 (no receive data trigger) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_2             (0x0200U) /* 2 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_3             (0x0300U) /* 3 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_4             (0x0400U) /* 4 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_5             (0x0500U) /* 5 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_6             (0x0600U) /* 6 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_7             (0x0700U) /* 7 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_8             (0x0800U) /* 8 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_9             (0x0900U) /* 9 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_10            (0x0A00U) /* 10 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_11            (0x0B00U) /* 11 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_12            (0x0C00U) /* 12 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_13            (0x0D00U) /* 13 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_14            (0x0E00U) /* 14 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_15            (0x0F00U) /* 15 (receive data triggers) */\r
+#define _SCIF_RX_FIFO_TRIGGER_NUM_16            (0x1000U) /* 16 (receive data triggers) */\r
+/* Transmit Trigger Select (RTRGS) */\r
+#define _SCIF_RX_TRIGGER_RTRG_VALID             (0x0000U) /* RTRG[1:0] bits in FCR are valid */\r
+#define _SCIF_RX_TRIGGER_RFTC_VALID             (0x8000U) /* RFTC[4:0] bits in FTCR are valid */\r
+\r
+/*\r
+    Serial extended mode register (SEMR)\r
+*/\r
+/* Asynchronous base clock select (ABCS0) */\r
+#define _SCIF_16_BASE_CLOCK                     (0x00U) /* Selects 16 base clock cycles for 1 bit period */\r
+#define _SCIF_8_BASE_CLOCK                      (0x01U) /* Selects 8 base clock cycles for 1 bit period */\r
+/* Noise Cancellation Enable (NFEN) */\r
+#define _SCIF_NOISE_FILTER_DISABLE              (0x00U) /* Noise cancellation for the RxD pin input is disabled */\r
+#define _SCIF_NOISE_FILTER_ENABLE               (0x04U) /* Noise cancellation for the RxD pin input is enabled */\r
+/* Data Transfer Direction Select (DIR) */\r
+#define _SCIF_DATA_TRANSFER_LSB_FIRST           (0x00U) /* Transmits the data in FTDR by the LSB-first method */\r
+#define _SCIF_DATA_TRANSFER_MSB_FIRST           (0x08U) /* Transmits the data in FTDR by the MSB-first method */\r
+/* Modulation Duty Register Select (MDDRS) */\r
+#define _SCIF_BRR_USED                          (0x00U) /* BRR register can be accessed */\r
+#define _SCIF_MDDR_USED                         (0x10U) /* MDDR register can be accessed. */\r
+/* Bit Rate Modulation Enable (BRME) */\r
+#define _SCIF_BIT_RATE_MODULATION_DISABLE       (0x00U) /* Bit rate modulation function is disabled */\r
+#define _SCIF_BIT_RATE_MODULATION_ENABLE        (0x20U) /* Bit rate modulation function is enabled */\r
+/* Baud Rate Generator Double-Speed Mode Select (BGDM) */\r
+#define _SCIF_BAUDRATE_SINGLE                   (0x00U) /* Baud rate generator outputs normal frequency */\r
+#define _SCIF_BAUDRATE_DOUBLE                   (0x80U) /* Baud rate generator doubles output frequency */\r
+\r
+/*\r
+    Interrupt Source Priority Register n (PRLn)\r
+*/\r
+/* Interrupt Priority Level Select (PRL[3:0]) */\r
+#define _SCIF_PRIORITY_LEVEL0                   (0x00000000UL) /* Level 0 (highest) */\r
+#define _SCIF_PRIORITY_LEVEL1                   (0x00000001UL) /* Level 1 */\r
+#define _SCIF_PRIORITY_LEVEL2                   (0x00000002UL) /* Level 2 */\r
+#define _SCIF_PRIORITY_LEVEL3                   (0x00000003UL) /* Level 3 */\r
+#define _SCIF_PRIORITY_LEVEL4                   (0x00000004UL) /* Level 4 */\r
+#define _SCIF_PRIORITY_LEVEL5                   (0x00000005UL) /* Level 5 */\r
+#define _SCIF_PRIORITY_LEVEL6                   (0x00000006UL) /* Level 6 */\r
+#define _SCIF_PRIORITY_LEVEL7                   (0x00000007UL) /* Level 7 */\r
+#define _SCIF_PRIORITY_LEVEL8                   (0x00000008UL) /* Level 8 */\r
+#define _SCIF_PRIORITY_LEVEL9                   (0x00000009UL) /* Level 9 */\r
+#define _SCIF_PRIORITY_LEVEL10                  (0x0000000AUL) /* Level 10 */\r
+#define _SCIF_PRIORITY_LEVEL11                  (0x0000000BUL) /* Level 11 */\r
+#define _SCIF_PRIORITY_LEVEL12                  (0x0000000CUL) /* Level 12 */\r
+#define _SCIF_PRIORITY_LEVEL13                  (0x0000000DUL) /* Level 13 */\r
+#define _SCIF_PRIORITY_LEVEL14                  (0x0000000EUL) /* Level 14 */\r
+#define _SCIF_PRIORITY_LEVEL15                  (0x0000000FUL) /* Level 15 */\r
+\r
+/* FIFO buffer maximum size */\r
+#define _SCIF_FIFO_MAX_SIZE                     (0x10U) /* Size of 16-stage FIFO buffer */\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+#define _SCIF_1BIT_INTERVAL_2                (0x0619U)   /* Wait time for 1-bit interval */\r
+#define _SCIF_RX_TRIG_NUM_2                  (0x01U)   /* Receive FIFO data trigger number */\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+typedef enum\r
+{\r
+    OVERRUN_ERROR,\r
+    BREAK_DETECT,\r
+    RECEIVE_ERROR\r
+} scif_error_type_t;\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+void R_SCIFA2_Create(void);\r
+void R_SCIFA2_Start(void);\r
+void R_SCIFA2_Stop(void);\r
+MD_STATUS R_SCIFA2_Serial_Send(const uint8_t * tx_buf, uint16_t tx_num);\r
+MD_STATUS R_SCIFA2_Serial_Receive(uint8_t * rx_buf, uint16_t rx_num);\r
+void r_scifa2_callback_transmitend(void);\r
+void r_scifa2_callback_receiveend(void);\r
+void r_scifa2_callback_error(scif_error_type_t error_type);\r
+\r
+/* Start user code for function. Do not edit comment generated here */\r
+\r
+/* Contains status of user input from the serial terminal program */\r
+extern volatile uint8_t g_terminal_request;\r
+\r
+/* End user code. Do not edit comment generated here */\r
+#endif\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_scifa_user.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_scifa_user.c
new file mode 100644 (file)
index 0000000..0f174d5
--- /dev/null
@@ -0,0 +1,287 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_scifa_user.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for SCIF module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_scifa.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+#include "r_typedefs.h"\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+extern const uint8_t * gp_scifa2_tx_address;   /* SCIFA2 send buffer address */\r
+extern uint16_t        g_scifa2_tx_count;      /* SCIFA2 send data number */\r
+extern uint8_t *       gp_scifa2_rx_address;   /* SCIFA2 receive buffer address */\r
+extern uint16_t        g_scifa2_rx_count;      /* SCIFA2 receive data number */\r
+extern uint16_t        g_scifa2_rx_length;     /* SCIFA2 receive data length */\r
+/* Start user code for global. Do not edit comment generated here */\r
+\r
+/* Contains status of user input from the serial terminal program */\r
+volatile uint8_t g_terminal_request = 0;\r
+\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: r_scifa2_txif2_interrupt\r
+* Description  : This function is TXIF2 interrupt service routine.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_scifa2_txif2_interrupt(void)\r
+{\r
+    uint16_t count = 0;\r
+\r
+    /* Get the amount of untransmitted data stored in the FRDR register */\r
+    uint16_t dummy_fdr = SCIFA2.FDR.BIT.T;\r
+\r
+    /* Write data to the transmit FIFO data register */\r
+    while ((g_scifa2_tx_count > 0U) && (count < _SCIF_FIFO_MAX_SIZE - dummy_fdr))\r
+    {\r
+        SCIFA2.FTDR = *gp_scifa2_tx_address;\r
+        gp_scifa2_tx_address++;\r
+        g_scifa2_tx_count--;\r
+        count++;\r
+    }\r
+\r
+    if (SCIFA2.FSR.BIT.TDFE == 1U)\r
+    {\r
+        SCIFA2.FSR.BIT.TDFE = 0U;\r
+    }\r
+\r
+    if (g_scifa2_tx_count <= 0U)\r
+    {\r
+        SCIFA2.SCR.BIT.TIE = 0U;\r
+        SCIFA2.SCR.BIT.TEIE = 1U;\r
+    }\r
+\r
+    /* Wait the interrupt signal is disabled */\r
+    while (0U != (VIC.IRQS3.LONG & 0x00008000UL))\r
+    {\r
+        VIC.IEC3.LONG = 0x00008000UL;\r
+    }\r
+\r
+    VIC.IEN3.LONG |= 0x00008000UL;\r
+\r
+    /* Dummy write */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_scifa2_rxif2_interrupt\r
+* Description  : This function is RXIF2 interrupt service routine.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_scifa2_rxif2_interrupt(void)\r
+{\r
+    uint16_t count = 0;\r
+\r
+    /* Get the amount of receive data stored in FRDR register */\r
+    uint16_t dummy_fdr = SCIFA2.FDR.BIT.R;\r
+\r
+    /* Read data from the receive FIFO data register */\r
+    while ((g_scifa2_rx_length > g_scifa2_rx_count) && (count < dummy_fdr))\r
+    {\r
+        *gp_scifa2_rx_address = SCIFA2.FRDR;\r
+        gp_scifa2_rx_address++;\r
+        g_scifa2_rx_count++;\r
+        count++;\r
+    }\r
+\r
+    /* If remaining data is less than the receive trigger number, receive interrupt will not occur.\r
+       In this case, set trigger number to 1 to force receive interrupt for each one byte of data in FRDR */\r
+    if ((g_scifa2_rx_length - g_scifa2_rx_count < _SCIF_RX_TRIG_NUM_2) && (SCIFA2.FTCR.BIT.RFTC != 1U))\r
+    {\r
+        SCIFA2.FTCR.BIT.RFTC = 1U;\r
+    }\r
+\r
+    /* Clear receive FIFO data full flag */\r
+    if (SCIFA2.FSR.BIT.RDF == 1U)\r
+    {\r
+        SCIFA2.FSR.BIT.RDF = 0U;\r
+    }\r
+\r
+    if (g_scifa2_rx_length <= g_scifa2_rx_count)\r
+    {\r
+        /* All data received */\r
+        SCIFA2.SCR.BIT.RE = 0U;\r
+        r_scifa2_callback_receiveend();\r
+    }\r
+\r
+    /* Wait the interrupt signal is disabled */\r
+    while (0U != (VIC.IRQS3.LONG & 0x00004000UL))\r
+    {\r
+        VIC.IEC3.LONG = 0x00004000UL;\r
+    }\r
+\r
+    VIC.IEN3.LONG |= 0x00004000UL;\r
+\r
+    /* Dummy write */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_scifa2_drif2_interrupt\r
+* Description  : This function is TEIF 2 or DRIF2 interrupt service routine.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_scifa2_drif2_interrupt(void)\r
+{\r
+    if (1U == SCIFA2.FSR.BIT.TEND)\r
+    {\r
+        SCIFA2.SPTR.BIT.SPB2DT = 0U;\r
+        SCIFA2.SPTR.BIT.SPB2IO = 1U;\r
+        SCIFA2.SCR.BIT.TE = 0U;\r
+        SCIFA2.SCR.BIT.TEIE = 0U;\r
+    }\r
+    r_scifa2_callback_transmitend();\r
+\r
+    /* Clear data ready detect flag */\r
+    if (1U == SCIFA2.FSR.BIT.DR)\r
+    {\r
+    /* Start user code. Do not edit comment generated here */\r
+    /* End user code. Do not edit comment generated here */\r
+        SCIFA2.FSR.BIT.DR = 0U;  \r
+    }\r
+\r
+    /* Wait the interrupt signal is disabled */\r
+    while (0U != (VIC.IRQS3.LONG & 0x00010000UL))\r
+    {\r
+        VIC.IEC3.LONG = 0x00010000UL;\r
+    }\r
+\r
+    VIC.IEN3.LONG |= 0x00010000UL;\r
+\r
+    /* Dummy write */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_scifa2_brif2_interrupt\r
+* Description  : This function is BRIF2 or ERIF2 interrupt service routine.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_scifa2_brif2_interrupt(void)\r
+{\r
+    if (1U == SCIFA2.FSR.BIT.BRK)\r
+    {\r
+        r_scifa2_callback_error(BREAK_DETECT);\r
+        /* Clear break detect flag */\r
+        SCIFA2.FSR.BIT.BRK = 0U;\r
+    }\r
+\r
+    if (1U == SCIFA2.FSR.BIT.ER)\r
+    {\r
+        r_scifa2_callback_error(RECEIVE_ERROR);\r
+        /* Clear receive error flag */\r
+        SCIFA2.FSR.BIT.ER = 0U;\r
+    }\r
+\r
+    if (1U == SCIFA2.LSR.BIT.ORER)\r
+    {\r
+        r_scifa2_callback_error(OVERRUN_ERROR);\r
+        /* Clear overrun error flag */\r
+        SCIFA2.LSR.BIT.ORER = 0U;\r
+    }\r
+\r
+    /* Wait the interrupt signal is disabled */\r
+    while (0U != (VIC.IRQS3.LONG & 0x00002000UL))\r
+    {\r
+        VIC.IEC3.LONG = 0x00002000UL;\r
+    }\r
+\r
+    VIC.IEN3.LONG |= 0x00002000UL;\r
+\r
+    /* Dummy write */\r
+    VIC.HVA0.LONG = 0x00000000UL;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_scifa2_callback_transmitend\r
+* Description  : This function is a callback function when SCIFA2 finishes transmission.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_scifa2_callback_transmitend(void)\r
+{\r
+    /* Start user code. Do not edit comment generated here */\r
+    /* End user code. Do not edit comment generated here */\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_scifa2_callback_receiveend\r
+* Description  : This function is a callback function when SCIFA2 finishes reception.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_scifa2_callback_receiveend(void)\r
+{\r
+    /* Start user code. Do not edit comment generated here */\r
+\r
+    /* Read the received data */\r
+    uint8_t uart_in = SCIFA2.FRDR;\r
+\r
+    /* Check if desired character is received */\r
+    if (('c' != uart_in) || ('C' != uart_in))\r
+    {\r
+        /* Set global flag to indicate user requested ADC reading */\r
+        g_terminal_request = 1U;\r
+    }\r
+    \r
+    /* Re-enable receptions */\r
+    SCIFA2.SCR.BIT.RE = 1U;        \r
+    \r
+    /* End user code. Do not edit comment generated here */\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: r_scifa2_callback_error\r
+* Description  : This function is a callback function when SCIFA2 reception encounters error.\r
+* Arguments    : error_type -\r
+*                    reception error type\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void r_scifa2_callback_error(scif_error_type_t error_type)\r
+{\r
+    /* Start user code. Do not edit comment generated here */\r
+\r
+    /* Used to suppress the warning message generated for unused variables */\r
+    UNUSED_PARAM(error_type);\r
+\r
+    /* End user code. Do not edit comment generated here */\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_systeminit.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_systeminit.c
new file mode 100644 (file)
index 0000000..194ebde
--- /dev/null
@@ -0,0 +1,103 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_systeminit.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements system initializing function.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_cgc.h"\r
+#include "r_cg_icu.h"\r
+#include "r_cg_port.h"\r
+#include "r_cg_tpu.h"\r
+#include "r_cg_cmt.h"\r
+#include "r_cg_scifa.h"\r
+#include "r_cg_rspi.h"\r
+#include "r_cg_s12ad.h"\r
+#include "r_cg_mpc.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+\r
+void R_Systeminit(void);\r
+\r
+/* End user code. Do not edit comment generated here */\r
+\r
+extern void r_set_exception_handler(void);\r
+/***********************************************************************************************************************\r
+* Function Name: R_Systeminit\r
+* Description  : This function initializes every macro.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_Systeminit(void)\r
+{\r
+    DI();\r
+\r
+    /* Enable writing to registers related to operating modes, LPC, CGC and ATCM */\r
+    SYSTEM.PRCR.LONG = 0x0000A50BU; \r
+\r
+    /* Enable writing to MPC pin function control registers */\r
+    MPC.PWPR.BIT.B0WI = 0U;\r
+    MPC.PWPR.BIT.PFSWE = 1U;\r
+\r
+    r_set_exception_handler();\r
+\r
+    /* Set peripheral settings */\r
+    R_CGC_Create();\r
+    R_ICU_Create();\r
+    R_PORT_Create();\r
+    R_TPU_Create();\r
+    R_CMT4_Create();\r
+    R_CMT5_Create();\r
+    R_SCIFA2_Create();\r
+    R_RSPI1_Create();\r
+    R_S12AD0_Create();\r
+    R_MPC_Create();\r
+\r
+    /* Disable writing to MPC pin function control registers */\r
+    MPC.PWPR.BIT.PFSWE = 0U;    \r
+    MPC.PWPR.BIT.B0WI = 1U;     \r
+\r
+    /* Enable protection */\r
+    SYSTEM.PRCR.LONG = 0x0000A500U;\r
+    EI();\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_tpu.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_tpu.c
new file mode 100644 (file)
index 0000000..77af3ea
--- /dev/null
@@ -0,0 +1,98 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_tpu.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for TPU module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_tpu.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+* Function Name: R_TPU_Create\r
+* Description  : This function initializes the TPU Unit0 module.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_TPU_Create(void)\r
+{\r
+    /* Cancel TPU stop state in LPC */\r
+    MSTP(TPU1) = 0U;\r
+\r
+    /* Stop all channels */\r
+    TPUA.TSTRB.BYTE = 0x00U;\r
+\r
+    /* Channel 9 is used as normal mode */\r
+    TPU9.TCR.BYTE = _TPU_PCLKD_4096 | _TPU_CKEG_IT_R | _TPU_CKCL_DIS;\r
+    TPU9.TIER.BYTE |= _TPU_TGIEA_DISABLE | _TPU_TGIEB_DISABLE | _TPU_TGIEC_DISABLE | _TPU_TGIED_DISABLE | \r
+                      _TPU_TCIEV_DISABLE | _TPU_TTGE_DISABLE;\r
+    TPU9.TIORH.BYTE = _TPU_IOB_IR | _TPU_IOA_DISABLE;\r
+    TPU9.TIORL.BYTE = _TPU_IOD_IR | _TPU_IOC_IR;\r
+    TPU9.TGRA = _TPU9_TCNTA_VALUE;\r
+    TPU9.TMDR.BYTE = _TPU_NORMAL | _TPU_BFA_NORMAL | _TPU_BFB_NORMAL | _TPU_ICSELB_BPIN | _TPU_ICSELD_DPIN;\r
+\r
+    /* Internal PWM feedback function status */\r
+    TPUSL.PWMFBSLR.LONG = _TPU_TPU0EN_DISABLE | _TPU_TPU1EN_DISABLE;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_TPU9_Start\r
+* Description  : This function starts TPU channel 9 counter.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_TPU9_Start(void)\r
+{\r
+    TPUA.TSTRB.BIT.CST3 = 1U;\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_TPU9_Stop\r
+* Description  : This function stops TPU channel 9 counter.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_TPU9_Stop(void)\r
+{\r
+    TPUA.TSTRB.BIT.CST3 = 0U;\r
+}\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_tpu.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_tpu.h
new file mode 100644 (file)
index 0000000..46b9ae4
--- /dev/null
@@ -0,0 +1,328 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_tpu.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for TPU module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef TPU_H\r
+#define TPU_H\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions (Register bit)\r
+***********************************************************************************************************************/\r
+/*\r
+    Timer Control Register (TCR)\r
+*/\r
+/* Time Prescaler Select (TPSC[2:0]) */\r
+#define _TPU_PCLKD_1                    (0x00U) /* Internal clock: counts on PCLKD/1 */\r
+#define _TPU_PCLKD_4                    (0x01U) /* Internal clock: counts on PCLKD/4 */\r
+#define _TPU_PCLKD_16                   (0x02U) /* Internal clock: counts on PCLKD/16 */\r
+#define _TPU_PCLKD_64                   (0x03U) /* Internal clock: counts on PCLKD/64 */\r
+#define _TPU_PCLKD_256                  (0x06U) /* Internal clock: counts on PCLKD/256 */\r
+#define _TPU2_PCLKD_1024                (0x07U) /* TPU2 Internal clock: counts on PCLKD/1024 */\r
+#define _TPU3_PCLKD_1024                (0x05U) /* TPU3 Internal clock: counts on PCLKD/1024 */\r
+#define _TPU4_PCLKD_1024                (0x06U) /* TPU4 Internal clock: counts on PCLKD/1024 */\r
+#define _TPU8_PCLKD_1024                (0x07U) /* TPU8 Internal clock: counts on PCLKD/1024 */\r
+#define _TPU9_PCLKD_1024                (0x05U) /* TPU9 Internal clock: counts on PCLKD/1024 */\r
+#define _TPU10_PCLKD_1024               (0x06U) /* TPU10 Internal clock: counts on PCLKD/1024 */\r
+#define _TPU_PCLKD_4096                 (0x07U) /* Internal clock: counts on PCLKD/4096 */\r
+#define _TPU_TCLKA                      (0x04U) /* External clock: counts on TCLKA pin input */\r
+#define _TPU_TCLKB                      (0x05U) /* External clock: counts on TCLKB pin input */\r
+#define _TPU_TCLKC_06                   (0x06U) /* External clock: counts on TCLKC pin input */\r
+#define _TPU_TCLKC_05                   (0x05U) /* External clock: counts on TCLKC pin input */\r
+#define _TPU_TCLKD                      (0x07U) /* External clock: counts on TCLKD pin input */\r
+#define _TPU_TCLKE                      (0x04U) /* External clock: counts on TCLKE pin input */\r
+#define _TPU_TCLKF                      (0x05U) /* External clock: counts on TCLKF pin input */\r
+#define _TPU_TCLKG_06                   (0x06U) /* External clock: counts on TCLKG pin input */\r
+#define _TPU_TCLKG_05                   (0x05U) /* External clock: counts on TCLKG pin input */\r
+#define _TPU_TCLKH                      (0x07U) /* External clock: counts on TCLKH pin input */\r
+#define _TPU2_COUNT                     (0x07U) /* TPU1: Counts on TPU2.TCNT counter overflow/underflow */\r
+#define _TPU5_COUNT                     (0x07U) /* TPU4: Counts on TPU5.TCNT counter overflow/underflow */\r
+#define _TPU8_COUNT                     (0x07U) /* TPU7: Counts on TPU8.TCNT counter overflow/underflow */\r
+#define _TPU11_COUNT                    (0x07U) /* TPU10: Counts on TPU11.TCNT counter overflow/underflow */\r
+/* Clock Edge Select (CKEG[1:0]) */\r
+#define _TPU_CKEG_IT_F                  (0x00U) /* Internal Clock: Count at falling edge */\r
+#define _TPU_CKEG_EX_R                  (0x00U) /* External Clock: Count at rising edge */\r
+#define _TPU_CKEG_IT_R                  (0x08U) /* Internal Clock: Count at rising edge */\r
+#define _TPU_CKEG_EX_F                  (0x08U) /* External Clock: Count at falling edge */\r
+#define _TPU_CKEG_BOTH                  (0x10U) /* Count at both edge */\r
+/* Counter Clear Select (CCLR[2:0]) */\r
+#define _TPU_CKCL_DIS                   (0x00U) /* TCNT clearing disabled */\r
+#define _TPU_CKCL_A                     (0x20U) /* TCNT cleared by TGRA compare match/input capture */\r
+#define _TPU_CKCL_B                     (0x40U) /* TCNT cleared by TGRB compare match/input capture */\r
+#define _TPU_CKCL_SYN                   (0x60U) /* TCNT cleared by counter clearing in another synchronous channel */\r
+#define _TPU_CKCL_C                     (0xA0U) /* TCNT cleared by TGRC compare match/input capture */\r
+#define _TPU_CKCL_D                     (0xC0U) /* TCNT cleared by TGRD compare match/input capture */\r
+\r
+/*\r
+    Timer Mode Register (TMDR)\r
+*/\r
+/* Mode Select (MD[3:0]) */\r
+#define _TPU_NORMAL                     (0x00U)   /* Normal mode */\r
+#define _TPU_PWM1                       (0x02U)   /* PWM mode 1 */\r
+#define _TPU_PWM2                       (0x03U)   /* PWM mode 2 */\r
+#define _TPU_COT1                       (0x04U)   /* Phase counting mode 1 */\r
+#define _TPU_COT2                       (0x05U)   /* Phase counting mode 2 */\r
+#define _TPU_COT3                       (0x06U)   /* Phase counting mode 3 */\r
+#define _TPU_COT4                       (0x07U)   /* Phase counting mode 4 */\r
+/* Buffer Operation A (BFA) */\r
+#define _TPU_BFA_NORMAL                 (0x00U)   /* TPUm.TGRA operates normally (m = 0, 3, 6, 9) */\r
+#define _TPU_BFA_BUFFER                 (0x10U)   /* TPUm.TGRA and TPUm.TGRC used together for buffer operation */\r
+/* Buffer Operation B (BFB) */\r
+#define _TPU_BFB_NORMAL                 (0x00U)   /* TPUm.TGRB operates normally (m = 0, 3, 6, 9) */\r
+#define _TPU_BFB_BUFFER                 (0x20U)   /* TPUm.TGRB and TPUm.TGRD used together for buffer operation */\r
+/* TGRB Input Capture Input Select (ICSELB) */\r
+#define _TPU_ICSELB_BPIN                (0x00U)   /* Input capture input source is TIOCBn pin */\r
+#define _TPU_ICSELB_APIN                (0x40U)   /* Input capture input source is TIOCAn pin (n = 0 to 11) */\r
+/* TGRD Input Capture Input Select (ICSELD) */\r
+#define _TPU_ICSELD_DPIN                (0x00U)   /* Input capture input source is TIOCDn pin */\r
+#define _TPU_ICSELD_CPIN                (0x80U)   /* Input capture input source is TIOCCn pin (n = 0, 3, 6, 9) */\r
+\r
+/*\r
+    Timer I/O Control Register (TIOR)\r
+*/\r
+/* I/O Control A (IOA[3:0]) for TPU0.TIORH, TPU1.TIOR, TPU2.TIOR, TPU3.TIORH, TPU4.TIORH, TPU5.TIOR \r
+                                TPU6.TIORH, TPU7.TIOR, TPU8.TIOR, TPU9.TIORH, TPU10.TIOR, TPU11.TIOR*/\r
+#define _TPU_IOA_DISABLE                (0x00U)   /* Output prohibited */\r
+#define _TPU_IOA_LL                     (0x01U)   /* Initial output is low. Low output at compare match */\r
+#define _TPU_IOA_LH                     (0x02U)   /* Initial output is low. High output at compare match */\r
+#define _TPU_IOA_LT                     (0x03U)   /* Initial output is low. Toggle output at compare match */\r
+#define _TPU_IOA_HL                     (0x05U)   /* Initial output is high. Low output at compare match */\r
+#define _TPU_IOA_HH                     (0x06U)   /* Initial output is high. High output at compare match */\r
+#define _TPU_IOA_HT                     (0x07U)   /* Initial output is high. Toggle output at compare match */\r
+#define _TPU_IOA_IR                     (0x08U)   /* Input capture at rising edge. */\r
+#define _TPU_IOA_IF                     (0x09U)   /* Input capture at falling edge */\r
+#define _TPU_IOA_IB                     (0x0AU)   /* Input capture at both edges */\r
+#define _TPU_IOA_EX                     (0x0CU)   /* Input capture at TPU1.TCNT or TPU4.TCNT up-count/down-count\r
+                                                                   or TPU7.TCNT or TPU10.TCNT up-count/down-count */\r
+#define _TPU_IOA_TGRA                   (0x0DU)   /* Input capture at TPU0.TGRA or TPU3.TGRA compare match/input capture\r
+                                                                   or TPU6.TGRA or TPU9.TGRA compare match/input capture */\r
+/* I/O Control B (IOB[3:0]) for TPU0.TIORH, TPU1.TIOR, TPU2.TIOR, TPU3.TIORH, TPU4.TIORH, TPU5.TIOR \r
+                                TPU6.TIORH, TPU7.TIOR, TPU8.TIOR, TPU9.TIORH, TPU10.TIOR, TPU11.TIOR*/\r
+#define _TPU_IOB_DISABLE                (0x00U)   /* Output prohibited */\r
+#define _TPU_IOB_LL                     (0x10U)   /* Initial output is low. Low output at compare match */\r
+#define _TPU_IOB_LH                     (0x20U)   /* Initial output is low. High output at compare match */\r
+#define _TPU_IOB_LT                     (0x30U)   /* Initial output is low. Toggle output at compare match */\r
+#define _TPU_IOB_HL                     (0x50U)   /* Initial output is high. Low output at compare match */\r
+#define _TPU_IOB_HH                     (0x60U)   /* Initial output is high. High output at compare match */\r
+#define _TPU_IOB_HT                     (0x70U)   /* Initial output is high. Toggle output at compare match */\r
+#define _TPU_IOB_IR                     (0x80U)   /* Input capture at rising edge */\r
+#define _TPU_IOB_IF                     (0x90U)   /* Input capture at falling edge */\r
+#define _TPU_IOB_IB                     (0xA0U)   /* Input capture at both edges. */\r
+#define _TPU_IOB_EX                     (0xC0U)   /* Input capture at TPU1.TCNT or TPU4.TCNT up-count/down-count\r
+                                                                   or TPU7.TCNT or TPU10.TCNT up-count/down-count*/\r
+#define _TPU_IOB_TGRC                   (0xD0U)   /* Input capture at TPU0.TGRC or TPU3.TGRC compare match/input capture\r
+                                                                   or TPU6.TGRC or TPU9.TGRC compare match/input capture*/\r
+/* I/O Control C (IOC[3:0]) for TPU0.TIORL, TPU3.TIORL, TPU6.TIORL, TPU9.TIORL */\r
+#define _TPU_IOC_DISABLE                (0x00U)   /* Output prohibited */\r
+#define _TPU_IOC_LL                     (0x01U)   /* Initial output is low. Low output at compare match */\r
+#define _TPU_IOC_LH                     (0x02U)   /* Initial output is low. High output at compare match */\r
+#define _TPU_IOC_LT                     (0x03U)   /* Initial output is low. Toggle output at compare match */\r
+#define _TPU_IOC_HL                     (0x05U)   /* Initial output is high. Low output at compare match. */\r
+#define _TPU_IOC_HH                     (0x06U)   /* Initial output is high. High output at compare match. */\r
+#define _TPU_IOC_HT                     (0x07U)   /* Initial output is high. Toggle output at compare match. */\r
+#define _TPU_IOC_IR                     (0x08U)   /* Input capture at rising edge. */\r
+#define _TPU_IOC_IF                     (0x09U)   /* Input capture at falling edge. */\r
+#define _TPU_IOC_IB                     (0x0AU)   /* Input capture at both edges. */\r
+#define _TPU_IOC_EX                     (0x0CU)   /* Input capture at TPU1.TCNT or TPU4.TCNT up-count/down-count\r
+                                                                   or TPU7.TCNT or TPU10.TCNT up-count/down-count. */\r
+/* I/O Control D (IOD[3:0]) for TPU0.TIORL, TPU3.TIORL, TPU6.TIORL, TPU9.TIOR */\r
+#define _TPU_IOD_DISABLE                (0x00U)   /* Output prohibited */\r
+#define _TPU_IOD_LL                     (0x10U)   /* Initial output is low. Low output at compare match */\r
+#define _TPU_IOD_LH                     (0x20U)   /* Initial output is low. High output at compare match */\r
+#define _TPU_IOD_LT                     (0x30U)   /* Initial output is low. Toggle output at compare match */\r
+#define _TPU_IOD_HL                     (0x50U)   /* Initial output is high. Low output at compare match. */\r
+#define _TPU_IOD_HH                     (0x60U)   /* Initial output is high. High output at compare match. */\r
+#define _TPU_IOD_HT                     (0x70U)   /* Initial output is high. Toggle output at compare match. */\r
+#define _TPU_IOD_IR                     (0x80U)   /* Input capture at rising edge. */\r
+#define _TPU_IOD_IF                     (0x90U)   /* Input capture at falling edge. */\r
+#define _TPU_IOD_IB                     (0xA0U)   /* Input capture at both edges. */\r
+#define _TPU_IOD_EX                     (0xC0U)   /* Input capture at TPU1.TCNT or TPU4.TCNT up-count/down-count\r
+                                                                   or TPU7.TCNT or TPU10.TCNT up-count/down-count. */\r
+\r
+/*\r
+    Timer Start Registers (TSTRA)\r
+*/\r
+/* Counter Start 0 (CST0) */\r
+#define _TPU_CST0_OFF                   (0x00U) /* TPU0.TCNT performs count stop */\r
+#define _TPU_CST0_ON                    (0x01U) /* TPU0.TCNT performs count operation */\r
+/* Counter Start 1 (CST1) */\r
+#define _TPU_CST1_OFF                   (0x00U) /* TPU1.TCNT performs count stop */\r
+#define _TPU_CST1_ON                    (0x02U) /* TPU1.TCNT performs count operation */\r
+/* Counter Start 2 (CST2) */\r
+#define _TPU_CST2_OFF                   (0x00U) /* TPU3.TCNT performs count stop */\r
+#define _TPU_CST2_ON                    (0x04U) /* TPU3.TCNT performs count operation */\r
+/* Counter Start 3 (CST3) */\r
+#define _TPU_CST3_OFF                   (0x00U) /* TPU3.TCNT performs count stop */\r
+#define _TPU_CST3_ON                    (0x08U) /* TPU3.TCNT performs count operation */\r
+/* Counter Start 4 (CST4) */\r
+#define _TPU_CST4_OFF                   (0x00U) /* TPU4.TCNT performs count stop */\r
+#define _TPU_CST4_ON                    (0x10U) /* TPU4.TCNT performs count operation */\r
+/* Counter Start 5 (CST5) */\r
+#define _TPU_CST5_OFF                   (0x00U) /* TPU5.TCNT performs count stop */\r
+#define _TPU_CST5_ON                    (0x20U) /* TPU5.TCNT performs count operation */\r
+\r
+/*\r
+    Timer Start Registers (TSTRB)\r
+*/\r
+/* Counter Start 6 (CST0) */\r
+#define _TPU_CST6_OFF                   (0x00U) /* TPU6.TCNT performs count stop */\r
+#define _TPU_CST6_ON                    (0x01U) /* TPU6.TCNT performs count operation */\r
+/* Counter Start 7 (CST1) */\r
+#define _TPU_CST7_OFF                   (0x00U) /* TPU7.TCNT performs count stop */\r
+#define _TPU_CST7_ON                    (0x02U) /* TPU7.TCNT performs count operation */\r
+/* Counter Start 8 (CST2) */\r
+#define _TPU_CST8_OFF                   (0x00U) /* TPU8.TCNT performs count stop */\r
+#define _TPU_CST8_ON                    (0x04U) /* TPU8.TCNT performs count operation */\r
+/* Counter Start 9 (CST3) */\r
+#define _TPU_CST9_OFF                   (0x00U) /* TPU9.TCNT performs count stop */\r
+#define _TPU_CST9_ON                    (0x08U) /* TPU9.TCNT performs count operation */\r
+/* Counter Start 10 (CST4) */\r
+#define _TPU_CST10_OFF                  (0x00U) /* TPU10.TCNT performs count stop */\r
+#define _TPU_CST10_ON                   (0x10U) /* TPU10.TCNT performs count operation */\r
+/* Counter Start 11 (CST5) */\r
+#define _TPU_CST11_OFF                  (0x00U) /* TPU11.TCNT performs count stop */\r
+#define _TPU_CST11_ON                   (0x20U) /* TPU11.TCNT performs count operation */\r
+\r
+/*\r
+    Noise Filter Control Register (NFCR)\r
+*/\r
+/* Noise Filter A Enable Bit (NFAEN) */\r
+#define _TPU_NFAEN_DISABLE              (0x00U)   /* The noise filter for the TIOCAm pin is disabled */\r
+#define _TPU_NFAEN_ENABLE               (0x01U)   /* The noise filter for the TIOCAm pin is enabled */\r
+/* Noise Filter B Enable Bit (NFBEN) */\r
+#define _TPU_NFBEN_DISABLE              (0x00U)   /* The noise filter for the TIOCBm pin is disabled */\r
+#define _TPU_NFBEN_ENABLE               (0x02U)   /* The noise filter for the TIOCBm pin is enabled */\r
+/* Noise Filter C Enable Bit (NFCEN) */\r
+#define _TPU_NFCEN_DISABLE              (0x00U)   /* The noise filter for the TIOCCm pin is disabled */\r
+#define _TPU_NFCEN_ENABLE               (0x04U)   /* The noise filter for the TIOCCm pin is enabled */\r
+/* Noise Filter D Enable Bit (NFDEN) */\r
+#define _TPU_NFDEN_DISABLE              (0x00U)   /* The noise filter for the TIOCDm pin is disabled */\r
+#define _TPU_NFDEN_ENABLE               (0x08U)   /* The noise filter for the TIOCDm pin is enabled */\r
+/* Noise Filter Clock Select (NFCS[1:0]) */\r
+#define _TPU_NFCS_PCLKD_1               (0x00U)   /* PCLKD/1 */\r
+#define _TPU_NFCS_PCLKD_8               (0x10U)   /* PCLKD/8 */\r
+#define _TPU_NFCS_PCLKD_32              (0x20U)   /* PCLKD/32 */\r
+#define _TPU_NFCS_EXCLK                 (0x30U)   /* The clock source for counting is the external clock */\r
+\r
+/*\r
+    PWM Feedback Select Register (PWMFBSLR)\r
+*/\r
+/* TPU (Unit 0) Internal PWM Feedback Enable (TPU0EN)*/\r
+#define _TPU_TPU0EN_DISABLE             (0x00000000UL)   /* Internal PWM feedback input function unit 0 is disabled */\r
+#define _TPU_TPU0EN_ENABLE              (0x00000001UL)   /* Internal PWM feedback input function unit 0 is enabled */\r
+/* Internal PWM Feedback Input Source Select 0 (FBSL0[2:0]) */\r
+#define _TPU0_PWM_SIG_MTU34             (0x00000010UL)   /* PWM output signals of MTU3 and MTU4 */\r
+#define _TPU0_PWM_SIG_MTU67             (0x00000014UL)   /* PWM output signals of MTU6 and MTU7 */\r
+#define _TPU0_PWM_SIG_GPT02             (0x00000018UL)   /* PWM output signals of GPT0 to GPT2 */\r
+/* TPU (Unit 1) Internal PWM Feedback Enable (TPU1EN)*/\r
+#define _TPU_TPU1EN_DISABLE             (0x00000000UL)   /* Internal PWM feedback input function unit 1 is disabled */\r
+#define _TPU_TPU1EN_ENABLE              (0x00000100UL)   /* Internal PWM feedback input function unit 1 is enabled */\r
+/* Internal PWM Feedback Input Source Select 1 (FBSL1[2:0]) */\r
+#define _TPU1_PWM_SIG_MTU34             (0x00001000UL)   /* PWM output signals of MTU3 and MTU4 */\r
+#define _TPU1_PWM_SIG_MTU67             (0x00001400UL)   /* PWM output signals of MTU6 and MTU7 */\r
+#define _TPU1_PWM_SIG_GPT02             (0x00001800UL)   /* PWM output signals of GPT0 to GPT2 */\r
+/*\r
+    Timer Interrupt Enable Register (TIER) \r
+*/\r
+/* TGR Interrupt Enable A (TGIEA) */\r
+#define _TPU_TGIEA_DISABLE              (0x00U)   /* Interrupt requests TGIA disabled */\r
+#define _TPU_TGIEA_ENABLE               (0x01U)   /* Interrupt requests TGIA enabled */\r
+/* TGR Interrupt Enable B (TGIEB) */\r
+#define _TPU_TGIEB_DISABLE              (0x00U)   /* Interrupt requests TGIB disabled */\r
+#define _TPU_TGIEB_ENABLE               (0x02U)   /* Interrupt requests TGIB enabled */\r
+/* TGR Interrupt Enable C (TGIEC) */\r
+#define _TPU_TGIEC_DISABLE              (0x00U)   /* Interrupt requests TGIC disabled */\r
+#define _TPU_TGIEC_ENABLE               (0x04U)   /* Interrupt requests TGIC enabled */\r
+/* TGR Interrupt Enable D (TGIED) */\r
+#define _TPU_TGIED_DISABLE              (0x00U)   /* Interrupt requests TGID disabled */\r
+#define _TPU_TGIED_ENABLE               (0x08U)   /* Interrupt requests TGID enabled */\r
+/* Overflow Interrupt Enable (TCIEV) */\r
+#define _TPU_TCIEV_DISABLE              (0x00U)   /* Interrupt requests TCIV disabled */\r
+#define _TPU_TCIEV_ENABLE               (0x10U)   /* Interrupt requests TCIV enabled */\r
+/* Underflow Interrupt Enable (TCIEU) */\r
+#define _TPU_TCIEU_DISABLE              (0x00U)   /* Interrupt requests TCIU disabled */\r
+#define _TPU_TCIEU_ENABLE               (0x20U)   /* Interrupt requests TCIU enabled */\r
+/* A/D Converter Start Request Enable (TTGE) */\r
+#define _TPU_TTGE_DISABLE               (0x00U)   /* A/D converter start request generation disabled */\r
+#define _TPU_TTGE_ENABLE                (0x80U)   /* A/D converter start request generation enabled */\r
+\r
+/*\r
+    Interrupt Source Priority Register n (PRLn)\r
+*/\r
+/* Interrupt Priority Level Select (PRL[3:0]) */\r
+#define _TPU_PRIORITY_LEVEL0            (0x00000000UL) /* Level 0 (highest) */\r
+#define _TPU_PRIORITY_LEVEL1            (0x00000001UL) /* Level 1 */\r
+#define _TPU_PRIORITY_LEVEL2            (0x00000002UL) /* Level 2 */\r
+#define _TPU_PRIORITY_LEVEL3            (0x00000003UL) /* Level 3 */\r
+#define _TPU_PRIORITY_LEVEL4            (0x00000004UL) /* Level 4 */\r
+#define _TPU_PRIORITY_LEVEL5            (0x00000005UL) /* Level 5 */\r
+#define _TPU_PRIORITY_LEVEL6            (0x00000006UL) /* Level 6 */\r
+#define _TPU_PRIORITY_LEVEL7            (0x00000007UL) /* Level 7 */\r
+#define _TPU_PRIORITY_LEVEL8            (0x00000008UL) /* Level 8 */\r
+#define _TPU_PRIORITY_LEVEL9            (0x00000009UL) /* Level 9 */\r
+#define _TPU_PRIORITY_LEVEL10           (0x0000000AUL) /* Level 10 */\r
+#define _TPU_PRIORITY_LEVEL11           (0x0000000BUL) /* Level 11 */\r
+#define _TPU_PRIORITY_LEVEL12           (0x0000000CUL) /* Level 12 */\r
+#define _TPU_PRIORITY_LEVEL13           (0x0000000DUL) /* Level 13 */\r
+#define _TPU_PRIORITY_LEVEL14           (0x0000000EUL) /* Level 14 */\r
+#define _TPU_PRIORITY_LEVEL15           (0x0000000FUL) /* Level 15 */\r
+#define _TPU_PRIORITY_LEVEL16           (0x00000000UL) /* Level 16 */\r
+#define _TPU_PRIORITY_LEVEL17           (0x00000001UL) /* Level 17 */\r
+#define _TPU_PRIORITY_LEVEL18           (0x00000002UL) /* Level 18 */\r
+#define _TPU_PRIORITY_LEVEL19           (0x00000003UL) /* Level 19 */\r
+#define _TPU_PRIORITY_LEVEL20           (0x00000004UL) /* Level 20 */\r
+#define _TPU_PRIORITY_LEVEL21           (0x00000005UL) /* Level 21 */\r
+#define _TPU_PRIORITY_LEVEL22           (0x00000006UL) /* Level 22 */\r
+#define _TPU_PRIORITY_LEVEL23           (0x00000007UL) /* Level 23 */\r
+#define _TPU_PRIORITY_LEVEL24           (0x00000008UL) /* Level 24 */\r
+#define _TPU_PRIORITY_LEVEL25           (0x00000009UL) /* Level 25 */\r
+#define _TPU_PRIORITY_LEVEL26           (0x0000000AUL) /* Level 26 */\r
+#define _TPU_PRIORITY_LEVEL27           (0x0000000BUL) /* Level 27 */\r
+#define _TPU_PRIORITY_LEVEL28           (0x0000000CUL) /* Level 28 */\r
+#define _TPU_PRIORITY_LEVEL29           (0x0000000DUL) /* Level 29 */\r
+#define _TPU_PRIORITY_LEVEL30           (0x0000000EUL) /* Level 30 */\r
+#define _TPU_PRIORITY_LEVEL31           (0x0000000FUL) /* Level 31 (lowest) */\r
+\r
+\r
+/***********************************************************************************************************************\r
+Macro definitions\r
+***********************************************************************************************************************/\r
+/* TGRA value channel 9 */\r
+#define _TPU9_TCNTA_VALUE                   (0x0726U)\r
+\r
+/***********************************************************************************************************************\r
+Typedef definitions\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Global functions\r
+***********************************************************************************************************************/\r
+void R_TPU_Create(void);\r
+void R_TPU9_Start(void);\r
+void R_TPU9_Stop(void);\r
+\r
+/* Start user code for function. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#endif
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_tpu_user.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_tpu_user.c
new file mode 100644 (file)
index 0000000..8d1fc9a
--- /dev/null
@@ -0,0 +1,52 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_tpu_user.c\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file implements device driver for TPU module.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+Pragma directive\r
+***********************************************************************************************************************/\r
+/* Start user code for pragma. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_tpu.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/***********************************************************************************************************************\r
+Global variables and functions\r
+***********************************************************************************************************************/\r
+/* Start user code for global. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
+\r
+\r
+/* Start user code for adding. Do not edit comment generated here */\r
+/* End user code. Do not edit comment generated here */\r
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_userdefine.h b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/cg_src/r_cg_userdefine.h
new file mode 100644 (file)
index 0000000..2db8e0c
--- /dev/null
@@ -0,0 +1,72 @@
+/***********************************************************************************************************************\r
+* DISCLAIMER\r
+* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products.\r
+* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all\r
+* applicable laws, including copyright laws. \r
+* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIESREGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED\r
+* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
+* NON-INFRINGEMENT.  ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY\r
+* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT,\r
+* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR\r
+* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\r
+* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability \r
+* of this software. By using this software, you agree to the additional terms and conditions found by accessing the \r
+* following link:\r
+* http://www.renesas.com/disclaimer\r
+*\r
+* Copyright (C) 2015 Renesas Electronics Corporation. All rights reserved.\r
+***********************************************************************************************************************/\r
+\r
+/***********************************************************************************************************************\r
+* File Name    : r_cg_userdefine.h\r
+* Version      : Code Generator for RZ/T1 V1.00.00.09 [02 Mar 2015]\r
+* Device(s)    : R7S910018CBG\r
+* Tool-Chain   : GCCARM\r
+* Description  : This file includes user definition.\r
+* Creation Date: 22/04/2015\r
+***********************************************************************************************************************/\r
+#ifndef _USER_DEF_H\r
+#define _USER_DEF_H\r
+\r
+/***********************************************************************************************************************\r
+User definitions\r
+***********************************************************************************************************************/\r
+\r
+/* Start user code for function. Do not edit comment generated here */\r
+\r
+#define MPC_PFSWE_WRITE_ENABLE (0x00)\r
+#define MPC_PFS_WRITE_ENABLE   (0x40)\r
+#define MPC_PFS_WRITE_DISABLE  (0x80)\r
+\r
+#define MPC_IRQ_DISABLE        (0)\r
+#define MPC_IRQ_ENABLE         (1)\r
+\r
+/* Define LED states */\r
+#define LED_ON                  (1U)\r
+#define LED_OFF                 (0U)\r
+\r
+/* Define user LEDs mode register pins */\r
+#define LED0_MODE               (PORTF.PMR.BIT.B7)\r
+#define LED1_MODE               (PORT5.PMR.BIT.B6)\r
+#define LED2_MODE               (PORT7.PMR.BIT.B7)\r
+#define LED3_MODE               (PORTA.PMR.BIT.B0)\r
+\r
+/* Define user LEDs direction's pins */\r
+#define LED0_DIR                (PORTF.PDR.BIT.B7)\r
+#define LED1_DIR                (PORT5.PDR.BIT.B6)\r
+#define LED2_DIR                (PORT7.PDR.BIT.B7)\r
+#define LED3_DIR                (PORTA.PDR.BIT.B0)\r
+\r
+/* Define user LEDs */\r
+#define LED0                    (PORTF.PODR.BIT.B7)\r
+#define LED1                    (PORT5.PODR.BIT.B6)\r
+#define LED2                    (PORT7.PODR.BIT.B7)\r
+#define LED3                    (PORTA.PODR.BIT.B0)\r
+\r
+void R_MPC_WriteEnable (void);\r
+void R_MPC_WriteDisable (void);\r
+\r
+extern void r_set_exception_handler(void);\r
+\r
+/* End user code. Do not edit comment generated here */\r
+#endif
\ No newline at end of file
diff --git a/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/main.c b/FreeRTOS/Demo/CORTEX_R4F_RZ_T_GCC_IAR_ARM/src/main.c
new file mode 100644 (file)
index 0000000..ea23b6d
--- /dev/null
@@ -0,0 +1,539 @@
+#if 1\r
+/*\r
+    FreeRTOS V8.2.2 - Copyright (C) 2015 Real Time Engineers Ltd.\r
+    All rights reserved\r
+\r
+    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
+\r
+    This file is part of the FreeRTOS distribution.\r
+\r
+    FreeRTOS is free software; you can redistribute it and/or modify it under\r
+    the terms of the GNU General Public License (version 2) as published by the\r
+    Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
+\r
+    ***************************************************************************\r
+    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
+    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
+    >>!   obliged to provide the source code for proprietary components     !<<\r
+    >>!   outside of the FreeRTOS kernel.                                   !<<\r
+    ***************************************************************************\r
+\r
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
+    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
+    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
+    link: http://www.freertos.org/a00114.html\r
+\r
+    ***************************************************************************\r
+     *                                                                       *\r
+     *    FreeRTOS provides completely free yet professionally developed,    *\r
+     *    robust, strictly quality controlled, supported, and cross          *\r
+     *    platform software that is more than just the market leader, it     *\r
+     *    is the industry's de facto standard.                               *\r
+     *                                                                       *\r
+     *    Help yourself get started quickly while simultaneously helping     *\r
+     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
+     *    tutorial book, reference manual, or both:                          *\r
+     *    http://www.FreeRTOS.org/Documentation                              *\r
+     *                                                                       *\r
+    ***************************************************************************\r
+\r
+    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
+    the FAQ page "My application does not run, what could be wrong?".  Have you\r
+    defined configASSERT()?\r
+\r
+    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
+    embedded software for free we request you assist our global community by\r
+    participating in the support forum.\r
+\r
+    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
+    be as productive as possible as early as possible.  Now you can receive\r
+    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
+    Ltd, and the world's leading authority on the world's leading RTOS.\r
+\r
+    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
+    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
+    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
+\r
+    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
+    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
+\r
+    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
+    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
+    licenses offer ticketed support, indemnification and commercial middleware.\r
+\r
+    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
+    engineered and independently SIL3 certified version for use in safety and\r
+    mission critical applications that require provable dependability.\r
+\r
+    1 tab == 4 spaces!\r
+*/\r
+\r
+/******************************************************************************\r
+ * This project provides two demo applications.  A simple blinky style project,\r
+ * and a more comprehensive test and demo application.  The\r
+ * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting (defined in this file) is used to\r
+ * select between the two.  The simply blinky demo is implemented and described\r
+ * in main_blinky.c.  The more comprehensive test and demo application is\r
+ * implemented and described in main_full.c.\r
+ *\r
+ * This file implements the code that is not demo specific, including the\r
+ * hardware setup, standard FreeRTOS hook functions, and the ISR hander called\r
+ * by the RTOS after interrupt entry (including nesting) has been taken care of.\r
+ *\r
+ * ENSURE TO READ THE DOCUMENTATION PAGE FOR THIS PORT AND DEMO APPLICATION ON\r
+ * THE http://www.FreeRTOS.org WEB SITE FOR FULL INFORMATION ON USING THIS DEMO\r
+ * APPLICATION, AND ITS ASSOCIATE FreeRTOS ARCHITECTURE PORT!\r
+ *\r
+ */\r
+\r
+/* Standard includes. */\r
+#include "string.h"\r
+\r
+/* Scheduler include files. */\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+#include "semphr.h"\r
+\r
+/* Renesas includes. */\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_icu.h"\r
+#include "r_cg_scifa.h"\r
+#include "r_cg_rspi.h"\r
+#include "r_system.h"\r
+#include "r_reset.h"\r
+#include "siochar.h"\r
+#include "r_cg_userdefine.h"\r
+\r
+/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo,\r
+or 0 to run the more comprehensive test and demo application. */\r
+#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY     1\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvClearBSS( void );\r
+\r
+/*\r
+ * Configure the hardware as necessary to run this demo.\r
+ */\r
+static void prvSetupHardware( void );\r
+\r
+/*\r
+ * main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1.\r
+ * main_full() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0.\r
+ */\r
+#if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 )\r
+       extern void main_blinky( void );\r
+#else\r
+       extern void main_full( void );\r
+#endif /* #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 */\r
+\r
+/* Prototypes for the standard FreeRTOS callback/hook functions implemented\r
+within this file. */\r
+void vApplicationMallocFailedHook( void );\r
+void vApplicationIdleHook( void );\r
+void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName );\r
+void vApplicationTickHook( void );\r
+\r
+/* Prototype for the IRQ handler called by the generic Cortex-A5 RTOS port\r
+layer. */\r
+void vApplicationIRQHandler( void );\r
+\r
+/* Library initialisation. */\r
+extern void R_Systeminit( void );\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+volatile uint32_t ultest = 0, ultest2 = 9999;\r
+\r
+int main( void )\r
+{\r
+       prvClearBSS();\r
+\r
+       configASSERT( ultest == 0 );\r
+       configASSERT( ultest2 == 9999 );\r
+\r
+       /* Configure the hardware ready to run the demo. */\r
+       prvSetupHardware();\r
+\r
+       /* The mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting is described at the top\r
+       of this file. */\r
+       #if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 )\r
+       {\r
+               main_blinky();\r
+       }\r
+       #else\r
+       {\r
+               main_full();\r
+       }\r
+       #endif\r
+\r
+       return 0;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvSetupHardware( void )\r
+{\r
+       R_Systeminit();\r
+\r
+       /* Enable RSPI1 (serial peripheral interface). */\r
+       R_RSPI1_Start();\r
+\r
+       /* Configure the UART channel for communication with a host PC via on-board\r
+       RL78/G1C device. */\r
+       io_init_scifa2();\r
+\r
+       /* Enable SCIFA2 (serial communications interface with FIFO). */\r
+       R_SCIFA2_Start();\r
+\r
+       /* SW3 interrupts. */\r
+       R_ICU_IRQ12_Start();\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationMallocFailedHook( void )\r
+{\r
+       /* Called if a call to pvPortMalloc() fails because there is insufficient\r
+       free memory available in the FreeRTOS heap.  pvPortMalloc() is called\r
+       internally by FreeRTOS API functions that create tasks, queues, software\r
+       timers, and semaphores.  The size of the FreeRTOS heap is set by the\r
+       configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */\r
+\r
+       /* Force an assert. */\r
+       configASSERT( ( volatile void * ) NULL );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )\r
+{\r
+       ( void ) pcTaskName;\r
+       ( void ) pxTask;\r
+\r
+       /* Run time stack overflow checking is performed if\r
+       configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2.  This hook\r
+       function is called if a stack overflow is detected. */\r
+\r
+       /* Force an assert. */\r
+       configASSERT( ( volatile void * ) NULL );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationIdleHook( void )\r
+{\r
+volatile size_t xFreeHeapSpace;\r
+\r
+       /* This is just a trivial example of an idle hook.  It is called on each\r
+       cycle of the idle task.  It must *NOT* attempt to block.  In this case the\r
+       idle task just queries the amount of FreeRTOS heap that remains.  See the\r
+       memory management section on the http://www.FreeRTOS.org web site for memory\r
+       management options.  If there is a lot of heap memory free then the\r
+       configTOTAL_HEAP_SIZE value in FreeRTOSConfig.h can be reduced to free up\r
+       RAM. */\r
+//     xFreeHeapSpace = xPortGetFreeHeapSize();\r
+\r
+       /* Remove compiler warning about xFreeHeapSpace being set but never used. */\r
+       ( void ) xFreeHeapSpace;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationTickHook( void )\r
+{\r
+       #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 0\r
+       {\r
+               extern void vFullDemoTickHook( void );\r
+\r
+               vFullDemoTickHook();\r
+       }\r
+       #endif\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+/* The function called by the RTOS port layer after it has managed interrupt\r
+entry. */\r
+void vApplicationIRQHandler( void )\r
+{\r
+#if 1\r
+extern void FreeRTOS_Tick_Handler( void );\r
+\r
+       /* Clear the interrupt source CMI5. */\r
+       VIC.PIC9.LONG = 0x00001000UL;\r
+\r
+       FreeRTOS_Tick_Handler();\r
+\r
+       /* Dummy write */\r
+       portDISABLE_INTERRUPTS();\r
+       // Done in the epilogue code VIC.HVA0.LONG = 0x00000000UL;\r
+\r
+#else\r
+typedef void (*ISRFunction_t)( void );\r
+ISRFunction_t pxISRFunction;\r
+volatile uint32_t * pulAIC_IVR = ( uint32_t * ) configINTERRUPT_VECTOR_ADDRESS;\r
+\r
+       /* Obtain the address of the interrupt handler from the AIR. */\r
+       pxISRFunction = ( ISRFunction_t ) *pulAIC_IVR;\r
+\r
+       /* Write back to the SAMA5's interrupt controller's IVR register in case the\r
+       CPU is in protect mode.  If the interrupt controller is not in protect mode\r
+       then this write is not necessary. */\r
+       *pulAIC_IVR = ( uint32_t ) pxISRFunction;\r
+\r
+       /* Ensure the write takes before re-enabling interrupts. */\r
+       __DSB();\r
+       __ISB();\r
+    __enable_irq();\r
+\r
+       /* Call the installed ISR. */\r
+       pxISRFunction();\r
+#endif\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvClearBSS( void )\r
+{\r
+extern uint32_t __bss_start__[];\r
+extern uint32_t __bss_end__[];\r
+size_t xSize;\r
+\r
+       /* Zero out bss. */\r
+       xSize = ( ( size_t ) __bss_end__ ) - ( ( size_t ) __bss_start__ );\r
+       memset( ( void * ) __bss_start__, 0x00, xSize );\r
+}\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+#else\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+\r
+/***********************************************************************************************************************\r
+Includes\r
+***********************************************************************************************************************/\r
+#include "r_cg_macrodriver.h"\r
+#include "r_cg_cgc.h"\r
+#include "r_cg_icu.h"\r
+#include "r_cg_port.h"\r
+#include "r_cg_tpu.h"\r
+#include "r_cg_cmt.h"\r
+#include "r_cg_scifa.h"\r
+#include "r_cg_rspi.h"\r
+#include "r_cg_s12ad.h"\r
+/* Start user code for include. Do not edit comment generated here */\r
+#include "r_cg_mpc.h"\r
+#include "r_system.h"\r
+#include "r_reset.h"\r
+#include "lcd_pmod.h"\r
+#include "logo_data.h"\r
+#include "stdio.h"\r
+#include "siochar.h"\r
+/* End user code. Do not edit comment generated here */\r
+#include "r_cg_userdefine.h"\r
+\r
+/* Start user code for global. Do not edit comment generated here */\r
+\r
+#define LZ_ENABLE   (1)\r
+#define LZ_DISABLE  (0)\r
+\r
+/* Welcome banner - displayed on serial port at startup*/\r
+static uint8_t welcome_banner[] = "\n\n\rRSK+RZT1 \n\n\r- Tutorial - Press 'c' or SW3 for ADC Conversion\r\n\0";\r
+\r
+/* Used as a Data Transmit counter    */\r
+static uint8_t uart_buffer[] = " ADC count: x.     Value: xxxxx\r\n";\r
+\r
+/* Used as a Data Transmit counter    */\r
+static uint8_t lcd_buffer[] = " ADC = xxxx ";\r
+\r
+/* Function prototype for displaying the 2 bit binary counter using LEDs */\r
+static void led_display_count (const uint8_t count);\r
+\r
+extern void R_Systeminit(void);\r
+void R_MAIN_UserInit(void);\r
+\r
+/* Prototypes for the standard FreeRTOS callback/hook functions implemented\r
+within this file. */\r
+void vApplicationMallocFailedHook( void );\r
+void vApplicationIdleHook( void );\r
+void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName );\r
+void vApplicationTickHook( void );\r
+\r
+\r
+/* Prototype for the IRQ handler called by the generic Cortex-A5 RTOS port\r
+layer. */\r
+void vApplicationIRQHandler( void );\r
+\r
+void main(void)\r
+{\r
+uint32_t adc_count = 0;\r
+\r
+    R_Systeminit();\r
+\r
+    R_MAIN_UserInit();\r
+\r
+    /* SW3 interrupts */\r
+    R_ICU_IRQ12_Start();\r
+\r
+    /* Clear flags */\r
+    g_switch_press_flg = 0;\r
+    g_terminal_request = 0;\r
+\r
+    /* Display the welcome banner on the serial terminal */\r
+    R_SCIFA2_Serial_Send((uint8_t *)&welcome_banner, sizeof(welcome_banner));\r
+        \r
+    /* Data transmission and reception done in the infinite loop */\r
+    while (1U)\r
+    {         \r
+        /* Check for a valid request from the switch or serial terminal */\r
+        if ((g_terminal_request) || (g_switch_press_flg & SW3_PRESS_FLG))\r
+        {          \r
+            /* Update the binary count using LED2 and LED3 */\r
+            led_display_count(adc_count);\r
+\r
+            while(0u == SCIFA2.FSR.BIT.TDFE)\r
+            {\r
+                /* Wait for previous transmission to complete */\r
+            }\r
+\r
+            /* Write send data */\r
+            R_SCIFA2_Serial_Send((uint8_t *)&uart_buffer, sizeof(uart_buffer));\r
+\r
+            /* Clear TDFE */\r
+            SCIFA2.FSR.BIT.TDFE = 0U;\r
+            \r
+            if (g_terminal_request)\r
+            {\r
+                /* Clear the request */\r
+                g_terminal_request = 0U;\r
+            }\r
+                        \r
+            if (g_switch_press_flg & SW3_PRESS_FLG)\r
+            {\r
+                /* Clear the request */\r
+                g_switch_press_flg &= ((uint8_t)~SW3_PRESS_FLG);\r
+            }\r
+\r
+            adc_count++;\r
+        }\r
+    }\r
+}\r
+/***********************************************************************************************************************\r
+* Function Name: R_MAIN_UserInit\r
+* Description  : This function adds user code before implementing main function.\r
+* Arguments    : None\r
+* Return Value : None\r
+***********************************************************************************************************************/\r
+void R_MAIN_UserInit(void)\r
+{\r
+    /* Enable RSPI1 operations */\r
+    R_RSPI1_Start();\r
+       \r
+    /* Configure UART channel for communication with host PC via RL78/G1C device */\r
+    io_init_scifa2();\r
+    \r
+    /* Enable SCIFA2 operations */\r
+    R_SCIFA2_Start();\r
+}\r
+\r
+static void led_display_count (const uint8_t count)\r
+{\r
+    /* Set LEDs according to lower nibble of count parameter */\r
+    LED2 = (uint8_t) ((count & 0x01) ? LED_ON : LED_OFF);\r
+    LED3 = (uint8_t) ((count & 0x02) ? LED_ON : LED_OFF);\r
+}\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationMallocFailedHook( void )\r
+{\r
+       /* Called if a call to pvPortMalloc() fails because there is insufficient\r
+       free memory available in the FreeRTOS heap.  pvPortMalloc() is called\r
+       internally by FreeRTOS API functions that create tasks, queues, software\r
+       timers, and semaphores.  The size of the FreeRTOS heap is set by the\r
+       configTOTAL_HEAP_SIZE configuration constant in FreeRTOSConfig.h. */\r
+\r
+       /* Force an assert. */\r
+       configASSERT( ( volatile void * ) NULL );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )\r
+{\r
+       ( void ) pcTaskName;\r
+       ( void ) pxTask;\r
+\r
+       /* Run time stack overflow checking is performed if\r
+       configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2.  This hook\r
+       function is called if a stack overflow is detected. */\r
+\r
+       /* Force an assert. */\r
+       configASSERT( ( volatile void * ) NULL );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationIdleHook( void )\r
+{\r
+volatile size_t xFreeHeapSpace;\r
+\r
+       /* This is just a trivial example of an idle hook.  It is called on each\r
+       cycle of the idle task.  It must *NOT* attempt to block.  In this case the\r
+       idle task just queries the amount of FreeRTOS heap that remains.  See the\r
+       memory management section on the http://www.FreeRTOS.org web site for memory\r
+       management options.  If there is a lot of heap memory free then the\r
+       configTOTAL_HEAP_SIZE value in FreeRTOSConfig.h can be reduced to free up\r
+       RAM. */\r
+       xFreeHeapSpace = xPortGetFreeHeapSize();\r
+\r
+       /* Remove compiler warning about xFreeHeapSpace being set but never used. */\r
+       ( void ) xFreeHeapSpace;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationTickHook( void )\r
+{\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationIRQHandler( void )\r
+{\r
+}\r
+\r
+\r
+#endif\r
+\r
index 8a711561435e024019ce58ba95902259d807cfb4..915fe209bd4e16ad682981115d0aa4fd119798e1 100644 (file)
                                                                                                                                                                                                                                                                                \\r
                                                                                                                                                                                                                                                                                \\r
                /* Has the extremity of the task stack ever been written over? */                                                                                                                               \\r
-               if( memcmp( ( void * ) pxCurrentTCB->pxStack, ( void * ) ucExpectedStackBytes, sizeof( ucExpectedStackBytes ) ) != 0 )                  \\r
+               if( memcmp( ( const void * ) pxCurrentTCB->pxStack, ( const void * ) ucExpectedStackBytes, sizeof( ucExpectedStackBytes ) ) != 0 )                      \\r
                {                                                                                                                                                                                                                                                               \\r
                        vApplicationStackOverflowHook( ( TaskHandle_t ) pxCurrentTCB, pxCurrentTCB->pcTaskName );                                                                       \\r
                }                                                                                                                                                                                                                                                               \\r
diff --git a/FreeRTOS/Source/portable/GCC/ARM_CRx_No_GIC/port.c b/FreeRTOS/Source/portable/GCC/ARM_CRx_No_GIC/port.c
new file mode 100644 (file)
index 0000000..1fd906b
--- /dev/null
@@ -0,0 +1,358 @@
+/*\r
+    FreeRTOS V8.2.2 - Copyright (C) 2015 Real Time Engineers Ltd.\r
+    All rights reserved\r
+\r
+    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
+\r
+    This file is part of the FreeRTOS distribution.\r
+\r
+    FreeRTOS is free software; you can redistribute it and/or modify it under\r
+    the terms of the GNU General Public License (version 2) as published by the\r
+    Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
+\r
+    ***************************************************************************\r
+    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
+    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
+    >>!   obliged to provide the source code for proprietary components     !<<\r
+    >>!   outside of the FreeRTOS kernel.                                   !<<\r
+    ***************************************************************************\r
+\r
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
+    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
+    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
+    link: http://www.freertos.org/a00114.html\r
+\r
+    ***************************************************************************\r
+     *                                                                       *\r
+     *    FreeRTOS provides completely free yet professionally developed,    *\r
+     *    robust, strictly quality controlled, supported, and cross          *\r
+     *    platform software that is more than just the market leader, it     *\r
+     *    is the industry's de facto standard.                               *\r
+     *                                                                       *\r
+     *    Help yourself get started quickly while simultaneously helping     *\r
+     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
+     *    tutorial book, reference manual, or both:                          *\r
+     *    http://www.FreeRTOS.org/Documentation                              *\r
+     *                                                                       *\r
+    ***************************************************************************\r
+\r
+    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
+    the FAQ page "My application does not run, what could be wrong?".  Have you\r
+    defined configASSERT()?\r
+\r
+    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
+    embedded software for free we request you assist our global community by\r
+    participating in the support forum.\r
+\r
+    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
+    be as productive as possible as early as possible.  Now you can receive\r
+    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
+    Ltd, and the world's leading authority on the world's leading RTOS.\r
+\r
+    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
+    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
+    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
+\r
+    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
+    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
+\r
+    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
+    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
+    licenses offer ticketed support, indemnification and commercial middleware.\r
+\r
+    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
+    engineered and independently SIL3 certified version for use in safety and\r
+    mission critical applications that require provable dependability.\r
+\r
+    1 tab == 4 spaces!\r
+*/\r
+\r
+/* Standard includes. */\r
+#include <stdlib.h>\r
+\r
+/* Scheduler includes. */\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+\r
+#if configUSE_PORT_OPTIMISED_TASK_SELECTION == 1\r
+       /* Check the configuration. */\r
+       #if( configMAX_PRIORITIES > 32 )\r
+               #error configUSE_PORT_OPTIMISED_TASK_SELECTION can only be set to 1 when configMAX_PRIORITIES is less than or equal to 32.  It is very rare that a system requires more than 10 to 15 difference priorities as tasks that share a priority will time slice.\r
+       #endif\r
+#endif /* configUSE_PORT_OPTIMISED_TASK_SELECTION */\r
+\r
+#ifndef configSETUP_TICK_INTERRUPT\r
+       #error configSETUP_TICK_INTERRUPT() must be defined in FreeRTOSConfig.h to call the function that sets up the tick interrupt.\r
+#endif\r
+\r
+#ifndef configCLEAR_TICK_INTERRUPT\r
+       #error configCLEAR_TICK_INTERRUPT must be defined in FreeRTOSConfig.h to clear which ever interrupt was used to generate the tick interrupt.\r
+#endif\r
+\r
+/* A critical section is exited when the critical section nesting count reaches\r
+this value. */\r
+#define portNO_CRITICAL_NESTING                        ( ( uint32_t ) 0 )\r
+\r
+/* Tasks are not created with a floating point context, but can be given a\r
+floating point context after they have been created.  A variable is stored as\r
+part of the tasks context that holds portNO_FLOATING_POINT_CONTEXT if the task\r
+does not have an FPU context, or any other value if the task does have an FPU\r
+context. */\r
+#define portNO_FLOATING_POINT_CONTEXT  ( ( StackType_t ) 0 )\r
+\r
+/* Constants required to setup the initial task context. */\r
+#define portINITIAL_SPSR                               ( ( StackType_t ) 0x1f ) /* System mode, ARM mode, IRQ enabled FIQ enabled. */\r
+#define portTHUMB_MODE_BIT                             ( ( StackType_t ) 0x20 )\r
+#define portTHUMB_MODE_ADDRESS                 ( 0x01UL )\r
+\r
+/* Masks all bits in the APSR other than the mode bits. */\r
+#define portAPSR_MODE_BITS_MASK                        ( 0x1F )\r
+\r
+/* The value of the mode bits in the APSR when the CPU is executing in user\r
+mode. */\r
+#define portAPSR_USER_MODE                             ( 0x10 )\r
+\r
+/* Let the user override the pre-loading of the initial LR with the address of\r
+prvTaskExitError() in case is messes up unwinding of the stack in the\r
+debugger. */\r
+#ifdef configTASK_RETURN_ADDRESS\r
+       #define portTASK_RETURN_ADDRESS configTASK_RETURN_ADDRESS\r
+#else\r
+       #define portTASK_RETURN_ADDRESS prvTaskExitError\r
+#endif\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/*\r
+ * Starts the first task executing.  This function is necessarily written in\r
+ * assembly code so is implemented in portASM.s.\r
+ */\r
+extern void vPortRestoreTaskContext( void );\r
+\r
+/*\r
+ * Used to catch tasks that attempt to return from their implementing function.\r
+ */\r
+static void prvTaskExitError( void );\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* A variable is used to keep track of the critical section nesting.  This\r
+variable has to be stored as part of the task context and must be initialised to\r
+a non zero value to ensure interrupts don't inadvertently become unmasked before\r
+the scheduler starts.  As it is stored as part of the task context it will\r
+automatically be set to 0 when the first task is started. */\r
+volatile uint32_t ulCriticalNesting = 9999UL;\r
+\r
+/* Saved as part of the task context.  If ulPortTaskHasFPUContext is non-zero then\r
+a floating point context must be saved and restored for the task. */\r
+volatile uint32_t ulPortTaskHasFPUContext = pdFALSE;\r
+\r
+/* Set to 1 to pend a context switch from an ISR. */\r
+volatile uint32_t ulPortYieldRequired = pdFALSE;\r
+\r
+/* Counts the interrupt nesting depth.  A context switch is only performed if\r
+if the nesting depth is 0. */\r
+volatile uint32_t ulPortInterruptNesting = 0UL;\r
+\r
+/* Used in the asm file to clear an interrupt. */\r
+__attribute__(( used )) const uint32_t ulICCEOIR = configEOI_ADDRESS;\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/*\r
+ * See header file for description.\r
+ */\r
+StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters )\r
+{\r
+       /* Setup the initial stack of the task.  The stack is set exactly as\r
+       expected by the portRESTORE_CONTEXT() macro.\r
+\r
+       The fist real value on the stack is the status register, which is set for\r
+       system mode, with interrupts enabled.  A few NULLs are added first to ensure\r
+       GDB does not try decoding a non-existent return address. */\r
+       *pxTopOfStack = ( StackType_t ) NULL;\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) NULL;\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) NULL;\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) portINITIAL_SPSR;\r
+\r
+       if( ( ( uint32_t ) pxCode & portTHUMB_MODE_ADDRESS ) != 0x00UL )\r
+       {\r
+               /* The task will start in THUMB mode. */\r
+               *pxTopOfStack |= portTHUMB_MODE_BIT;\r
+       }\r
+\r
+       pxTopOfStack--;\r
+\r
+       /* Next the return address, which in this case is the start of the task. */\r
+       *pxTopOfStack = ( StackType_t ) pxCode;\r
+       pxTopOfStack--;\r
+\r
+       /* Next all the registers other than the stack pointer. */\r
+       *pxTopOfStack = ( StackType_t ) portTASK_RETURN_ADDRESS;        /* R14 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x12121212;     /* R12 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x11111111;     /* R11 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x10101010;     /* R10 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x09090909;     /* R9 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x08080808;     /* R8 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x07070707;     /* R7 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x06060606;     /* R6 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x05050505;     /* R5 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x04040404;     /* R4 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x03030303;     /* R3 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x02020202;     /* R2 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) 0x01010101;     /* R1 */\r
+       pxTopOfStack--;\r
+       *pxTopOfStack = ( StackType_t ) pvParameters; /* R0 */\r
+       pxTopOfStack--;\r
+\r
+       /* The task will start with a critical nesting count of 0 as interrupts are\r
+       enabled. */\r
+       *pxTopOfStack = portNO_CRITICAL_NESTING;\r
+       pxTopOfStack--;\r
+\r
+       /* The task will start without a floating point context.  A task that uses\r
+       the floating point hardware must call vPortTaskUsesFPU() before executing\r
+       any floating point instructions. */\r
+       *pxTopOfStack = portNO_FLOATING_POINT_CONTEXT;\r
+\r
+       return pxTopOfStack;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvTaskExitError( void )\r
+{\r
+       /* A function that implements a task must not exit or attempt to return to\r
+       its caller as there is nothing to return to.  If a task wants to exit it\r
+       should instead call vTaskDelete( NULL ).\r
+\r
+       Artificially force an assert() to be triggered if configASSERT() is\r
+       defined, then stop here so application writers can catch the error. */\r
+       configASSERT( ulPortInterruptNesting == ~0UL );\r
+       portDISABLE_INTERRUPTS();\r
+       for( ;; );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+BaseType_t xPortStartScheduler( void )\r
+{\r
+uint32_t ulAPSR;\r
+\r
+       /* Only continue if the CPU is not in User mode.  The CPU must be in a\r
+       Privileged mode for the scheduler to start. */\r
+       __asm volatile ( "MRS %0, APSR" : "=r" ( ulAPSR ) );\r
+       ulAPSR &= portAPSR_MODE_BITS_MASK;\r
+       configASSERT( ulAPSR != portAPSR_USER_MODE );\r
+\r
+       if( ulAPSR != portAPSR_USER_MODE )\r
+       {\r
+               /* Start the timer that generates the tick ISR. */\r
+               portDISABLE_INTERRUPTS();\r
+               configSETUP_TICK_INTERRUPT();\r
+\r
+               /* Start the first task executing. */\r
+               vPortRestoreTaskContext();\r
+       }\r
+\r
+       /* Will only get here if xTaskStartScheduler() was called with the CPU in\r
+       a non-privileged mode or the binary point register was not set to its lowest\r
+       possible value.  prvTaskExitError() is referenced to prevent a compiler\r
+       warning about it being defined but not referenced in the case that the user\r
+       defines their own exit address. */\r
+       ( void ) prvTaskExitError;\r
+       return 0;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vPortEndScheduler( void )\r
+{\r
+       /* Not implemented in ports where there is nothing to return to.\r
+       Artificially force an assert. */\r
+       configASSERT( ulCriticalNesting == 1000UL );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vPortEnterCritical( void )\r
+{\r
+       portDISABLE_INTERRUPTS();\r
+\r
+       /* Now interrupts are disabled ulCriticalNesting can be accessed\r
+       directly.  Increment ulCriticalNesting to keep a count of how many times\r
+       portENTER_CRITICAL() has been called. */\r
+       ulCriticalNesting++;\r
+\r
+       /* This is not the interrupt safe version of the enter critical function so\r
+       assert() if it is being called from an interrupt context.  Only API\r
+       functions that end in "FromISR" can be used in an interrupt.  Only assert if\r
+       the critical nesting count is 1 to protect against recursive calls if the\r
+       assert function also uses a critical section. */\r
+       if( ulCriticalNesting == 1 )\r
+       {\r
+               configASSERT( ulPortInterruptNesting == 0 );\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vPortExitCritical( void )\r
+{\r
+       if( ulCriticalNesting > portNO_CRITICAL_NESTING )\r
+       {\r
+               /* Decrement the nesting count as the critical section is being\r
+               exited. */\r
+               ulCriticalNesting--;\r
+\r
+               /* If the nesting level has reached zero then all interrupt\r
+               priorities must be re-enabled. */\r
+               if( ulCriticalNesting == portNO_CRITICAL_NESTING )\r
+               {\r
+                       /* Critical nesting has reached zero so all interrupt priorities\r
+                       should be unmasked. */\r
+                       portENABLE_INTERRUPTS();\r
+               }\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void FreeRTOS_Tick_Handler( void )\r
+{\r
+       portDISABLE_INTERRUPTS();\r
+\r
+       /* Increment the RTOS tick. */\r
+       if( xTaskIncrementTick() != pdFALSE )\r
+       {\r
+               ulPortYieldRequired = pdTRUE;\r
+       }\r
+\r
+       portENABLE_INTERRUPTS();\r
+       configCLEAR_TICK_INTERRUPT();\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vPortTaskUsesFPU( void )\r
+{\r
+uint32_t ulInitialFPSCR = 0;\r
+\r
+       /* A task is registering the fact that it needs an FPU context.  Set the\r
+       FPU flag (which is saved as part of the task context). */\r
+       ulPortTaskHasFPUContext = pdTRUE;\r
+\r
+       /* Initialise the floating point status register. */\r
+       __asm volatile ( "FMXR  FPSCR, %0" :: "r" (ulInitialFPSCR) );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+\r
diff --git a/FreeRTOS/Source/portable/GCC/ARM_CRx_No_GIC/portASM.S b/FreeRTOS/Source/portable/GCC/ARM_CRx_No_GIC/portASM.S
new file mode 100644 (file)
index 0000000..b21c91d
--- /dev/null
@@ -0,0 +1,291 @@
+/*\r
+    FreeRTOS V8.2.2 - Copyright (C) 2015 Real Time Engineers Ltd.\r
+    All rights reserved\r
+\r
+\r
+    ***************************************************************************\r
+     *                                                                       *\r
+     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
+     *    Complete, revised, and edited pdf reference manuals are also       *\r
+     *    available.                                                         *\r
+     *                                                                       *\r
+     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
+     *    ensuring you get running as quickly as possible and with an        *\r
+     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
+     *    the FreeRTOS project to continue with its mission of providing     *\r
+     *    professional grade, cross platform, de facto standard solutions    *\r
+     *    for microcontrollers - completely free of charge!                  *\r
+     *                                                                       *\r
+     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
+     *                                                                       *\r
+     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
+     *                                                                       *\r
+    ***************************************************************************\r
+\r
+\r
+    This file is part of the FreeRTOS distribution.\r
+\r
+    FreeRTOS is free software; you can redistribute it and/or modify it under\r
+    the terms of the GNU General Public License (version 2) as published by the\r
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
+    >>>NOTE<<< The modification to the GPL is included to allow you to\r
+    distribute a combined work that includes FreeRTOS without being obliged to\r
+    provide the source code for proprietary components outside of the FreeRTOS\r
+    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
+    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
+    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+    more details. You should have received a copy of the GNU General Public\r
+    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
+    by writing to Richard Barry, contact details for whom are available on the\r
+    FreeRTOS WEB site.\r
+\r
+    1 tab == 4 spaces!\r
+\r
+    http://www.FreeRTOS.org - Documentation, latest information, license and\r
+    contact details.\r
+\r
+    http://www.SafeRTOS.com - A version that is certified for use in safety\r
+    critical systems.\r
+\r
+    http://www.OpenRTOS.com - Commercial support, development, porting,\r
+    licensing and training services.\r
+*/\r
+\r
+       .text\r
+       .arm\r
+\r
+       .set SYS_MODE,  0x1f\r
+       .set SVC_MODE,  0x13\r
+       .set IRQ_MODE,  0x12\r
+\r
+       /* Variables and functions. */\r
+       .extern ulMaxAPIPriorityMask\r
+       .extern _freertos_vector_table\r
+       .extern pxCurrentTCB\r
+       .extern vTaskSwitchContext\r
+       .extern vApplicationIRQHandler\r
+       .extern ulPortInterruptNesting\r
+       .extern ulPortTaskHasFPUContext\r
+       .extern ulICCEOIR\r
+\r
+       .global FreeRTOS_IRQ_Handler\r
+       .global FreeRTOS_SVC_Handler\r
+       .global vPortRestoreTaskContext\r
+\r
+\r
+\r
+\r
+.macro portSAVE_CONTEXT\r
+\r
+       /* Save the LR and SPSR onto the system mode stack before switching to\r
+       system mode to save the remaining system mode registers. */\r
+       SRSDB   sp!, #SYS_MODE\r
+       CPS             #SYS_MODE\r
+       PUSH    {R0-R12, R14}\r
+\r
+       /* Push the critical nesting count. */\r
+       LDR             R2, ulCriticalNestingConst\r
+       LDR             R1, [R2]\r
+       PUSH    {R1}\r
+\r
+       /* Does the task have a floating point context that needs saving?  If\r
+       ulPortTaskHasFPUContext is 0 then no. */\r
+       LDR             R2, ulPortTaskHasFPUContextConst\r
+       LDR             R3, [R2]\r
+       CMP             R3, #0\r
+\r
+       /* Save the floating point context, if any. */\r
+       FMRXNE  R1,  FPSCR\r
+       VPUSHNE {D0-D15}\r
+#if configFPU_D32 == 1\r
+       VPUSHNE {D16-D31}\r
+#endif /* configFPU_D32 */\r
+       PUSHNE  {R1}\r
+\r
+       /* Save ulPortTaskHasFPUContext itself. */\r
+       PUSH    {R3}\r
+\r
+       /* Save the stack pointer in the TCB. */\r
+       LDR             R0, pxCurrentTCBConst\r
+       LDR             R1, [R0]\r
+       STR             SP, [R1]\r
+\r
+       .endm\r
+\r
+; /**********************************************************************/\r
+\r
+.macro portRESTORE_CONTEXT\r
+\r
+       /* Set the SP to point to the stack of the task being restored. */\r
+       LDR             R0, pxCurrentTCBConst\r
+       LDR             R1, [R0]\r
+       LDR             SP, [R1]\r
+\r
+       /* Is there a floating point context to restore?  If the restored\r
+       ulPortTaskHasFPUContext is zero then no. */\r
+       LDR             R0, ulPortTaskHasFPUContextConst\r
+       POP             {R1}\r
+       STR             R1, [R0]\r
+       CMP             R1, #0\r
+\r
+       /* Restore the floating point context, if any. */\r
+       POPNE   {R0}\r
+#if configFPU_D32 == 1\r
+       VPOPNE  {D16-D31}\r
+#endif /* configFPU_D32 */\r
+       VPOPNE  {D0-D15}\r
+       VMSRNE  FPSCR, R0\r
+\r
+       /* Restore the critical section nesting depth. */\r
+       LDR             R0, ulCriticalNestingConst\r
+       POP             {R1}\r
+       STR             R1, [R0]\r
+\r
+       /* Restore all system mode registers other than the SP (which is already\r
+       being used). */\r
+       POP             {R0-R12, R14}\r
+\r
+       /* Return to the task code, loading CPSR on the way. */\r
+       RFEIA   sp!\r
+\r
+       .endm\r
+\r
+\r
+\r
+\r
+/******************************************************************************\r
+ * SVC handler is used to start the scheduler.\r
+ *****************************************************************************/\r
+.align 4\r
+.type FreeRTOS_SVC_Handler, %function\r
+FreeRTOS_SVC_Handler:\r
+       /* Save the context of the current task and select a new task to run. */\r
+       portSAVE_CONTEXT\r
+       LDR R0, vTaskSwitchContextConst\r
+       BLX     R0\r
+       portRESTORE_CONTEXT\r
+\r
+\r
+/******************************************************************************\r
+ * vPortRestoreTaskContext is used to start the scheduler.\r
+ *****************************************************************************/\r
+.align 4\r
+.type vPortRestoreTaskContext, %function\r
+vPortRestoreTaskContext:\r
+       /* Switch to system mode. */\r
+       CPS             #SYS_MODE\r
+       portRESTORE_CONTEXT\r
+\r
+.align 4\r
+.type FreeRTOS_IRQ_Handler, %function\r
+FreeRTOS_IRQ_Handler:\r
+       /* Return to the interrupted instruction. */\r
+       SUB             lr, lr, #4\r
+\r
+       /* Push the return address and SPSR. */\r
+       PUSH    {lr}\r
+       MRS             lr, SPSR\r
+       PUSH    {lr}\r
+\r
+       /* Change to supervisor mode to allow reentry. */\r
+       CPS             #SVC_MODE\r
+\r
+       /* Push used registers. */\r
+       PUSH    {r0-r4, r12}\r
+\r
+       /* Increment nesting count.  r3 holds the address of ulPortInterruptNesting\r
+       for future use.  r1 holds the original ulPortInterruptNesting value for\r
+       future use. */\r
+       LDR             r3, ulPortInterruptNestingConst\r
+       LDR             r1, [r3]\r
+       ADD             r4, r1, #1\r
+       STR             r4, [r3]\r
+\r
+       /* Ensure bit 2 of the stack pointer is clear.  r2 holds the bit 2 value for\r
+       future use. */\r
+       MOV             r2, sp\r
+       AND             r2, r2, #4\r
+       SUB             sp, sp, r2\r
+\r
+       /* Call the interrupt handler. */\r
+       PUSH    {r0-r3, lr}\r
+       LDR             r1, vApplicationIRQHandlerConst\r
+       BLX             r1\r
+       POP             {r0-r3, lr}\r
+       ADD             sp, sp, r2\r
+\r
+       CPSID   i\r
+       DSB\r
+       ISB\r
+\r
+       /* Write to the EOI register. */\r
+       LDR     r4, ulICCEOIRConst\r
+       LDR             r4, [r4]\r
+       STR             r0, [r4]\r
+\r
+       /* Restore the old nesting count. */\r
+       STR             r1, [r3]\r
+\r
+       /* A context switch is never performed if the nesting count is not 0. */\r
+       CMP             r1, #0\r
+       BNE             exit_without_switch\r
+\r
+       /* Did the interrupt request a context switch?  r1 holds the address of\r
+       ulPortYieldRequired and r0 the value of ulPortYieldRequired for future\r
+       use. */\r
+       LDR             r1, =ulPortYieldRequired\r
+       LDR             r0, [r1]\r
+       CMP             r0, #0\r
+       BNE             switch_before_exit\r
+\r
+exit_without_switch:\r
+       /* No context switch.  Restore used registers, LR_irq and SPSR before\r
+       returning. */\r
+       POP             {r0-r4, r12}\r
+       CPS             #IRQ_MODE\r
+       POP             {LR}\r
+       MSR             SPSR_cxsf, LR\r
+       POP             {LR}\r
+       MOVS    PC, LR\r
+\r
+switch_before_exit:\r
+       /* A context swtich is to be performed.  Clear the context switch pending\r
+       flag. */\r
+       MOV             r0, #0\r
+       STR             r0, [r1]\r
+\r
+       /* Restore used registers, LR-irq and SPSR before saving the context\r
+       to the task stack. */\r
+       POP             {r0-r4, r12}\r
+       CPS             #IRQ_MODE\r
+       POP             {LR}\r
+       MSR             SPSR_cxsf, LR\r
+       POP             {LR}\r
+       portSAVE_CONTEXT\r
+\r
+       /* Call the function that selects the new task to execute.\r
+       vTaskSwitchContext() if vTaskSwitchContext() uses LDRD or STRD\r
+       instructions, or 8 byte aligned stack allocated data.  LR does not need\r
+       saving as a new LR will be loaded by portRESTORE_CONTEXT anyway. */\r
+       LDR             R0, vTaskSwitchContextConst\r
+       BLX             R0\r
+\r
+       /* Restore the context of, and branch to, the task selected to execute\r
+       next. */\r
+       portRESTORE_CONTEXT\r
+\r
+ulICCEOIRConst:        .word ulICCEOIR\r
+pxCurrentTCBConst: .word pxCurrentTCB\r
+ulCriticalNestingConst: .word ulCriticalNesting\r
+ulPortTaskHasFPUContextConst: .word ulPortTaskHasFPUContext\r
+vTaskSwitchContextConst: .word vTaskSwitchContext\r
+vApplicationIRQHandlerConst: .word vApplicationIRQHandler\r
+ulPortInterruptNestingConst: .word ulPortInterruptNesting\r
+\r
+.end\r
+\r
+\r
+\r
+\r
+\r
diff --git a/FreeRTOS/Source/portable/GCC/ARM_CRx_No_GIC/portmacro.h b/FreeRTOS/Source/portable/GCC/ARM_CRx_No_GIC/portmacro.h
new file mode 100644 (file)
index 0000000..73ec1e9
--- /dev/null
@@ -0,0 +1,214 @@
+/*\r
+    FreeRTOS V8.2.2 - Copyright (C) 2015 Real Time Engineers Ltd.\r
+    All rights reserved\r
+\r
+    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
+\r
+    This file is part of the FreeRTOS distribution.\r
+\r
+    FreeRTOS is free software; you can redistribute it and/or modify it under\r
+    the terms of the GNU General Public License (version 2) as published by the\r
+    Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
+\r
+    ***************************************************************************\r
+    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
+    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
+    >>!   obliged to provide the source code for proprietary components     !<<\r
+    >>!   outside of the FreeRTOS kernel.                                   !<<\r
+    ***************************************************************************\r
+\r
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
+    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
+    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
+    link: http://www.freertos.org/a00114.html\r
+\r
+    ***************************************************************************\r
+     *                                                                       *\r
+     *    FreeRTOS provides completely free yet professionally developed,    *\r
+     *    robust, strictly quality controlled, supported, and cross          *\r
+     *    platform software that is more than just the market leader, it     *\r
+     *    is the industry's de facto standard.                               *\r
+     *                                                                       *\r
+     *    Help yourself get started quickly while simultaneously helping     *\r
+     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
+     *    tutorial book, reference manual, or both:                          *\r
+     *    http://www.FreeRTOS.org/Documentation                              *\r
+     *                                                                       *\r
+    ***************************************************************************\r
+\r
+    http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
+    the FAQ page "My application does not run, what could be wrong?".  Have you\r
+    defined configASSERT()?\r
+\r
+    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
+    embedded software for free we request you assist our global community by\r
+    participating in the support forum.\r
+\r
+    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
+    be as productive as possible as early as possible.  Now you can receive\r
+    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
+    Ltd, and the world's leading authority on the world's leading RTOS.\r
+\r
+    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
+    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
+    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
+\r
+    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
+    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
+\r
+    http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
+    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
+    licenses offer ticketed support, indemnification and commercial middleware.\r
+\r
+    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
+    engineered and independently SIL3 certified version for use in safety and\r
+    mission critical applications that require provable dependability.\r
+\r
+    1 tab == 4 spaces!\r
+*/\r
+\r
+#ifndef PORTMACRO_H\r
+#define PORTMACRO_H\r
+\r
+#ifdef __cplusplus\r
+       extern "C" {\r
+#endif\r
+\r
+/*-----------------------------------------------------------\r
+ * Port specific definitions.\r
+ *\r
+ * The settings in this file configure FreeRTOS correctly for the given hardware\r
+ * and compiler.\r
+ *\r
+ * These settings should not be altered.\r
+ *-----------------------------------------------------------\r
+ */\r
+\r
+/* Type definitions. */\r
+#define portCHAR               char\r
+#define portFLOAT              float\r
+#define portDOUBLE             double\r
+#define portLONG               long\r
+#define portSHORT              short\r
+#define portSTACK_TYPE uint32_t\r
+#define portBASE_TYPE  long\r
+\r
+typedef portSTACK_TYPE StackType_t;\r
+typedef long BaseType_t;\r
+typedef unsigned long UBaseType_t;\r
+\r
+typedef uint32_t TickType_t;\r
+#define portMAX_DELAY ( TickType_t ) 0xffffffffUL\r
+\r
+/* 32-bit tick type on a 32-bit architecture, so reads of the tick count do\r
+not need to be guarded with a critical section. */\r
+#define portTICK_TYPE_IS_ATOMIC 1\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* Hardware specifics. */\r
+#define portSTACK_GROWTH                       ( -1 )\r
+#define portTICK_PERIOD_MS                     ( ( TickType_t ) 1000 / configTICK_RATE_HZ )\r
+#define portBYTE_ALIGNMENT                     8\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* Task utilities. */\r
+\r
+/* Called at the end of an ISR that can cause a context switch. */\r
+#define portEND_SWITCHING_ISR( xSwitchRequired )\\r
+{                                                                                              \\r
+extern uint32_t ulPortYieldRequired;                   \\r
+                                                                                               \\r
+       if( xSwitchRequired != pdFALSE )                        \\r
+       {                                                                                       \\r
+               ulPortYieldRequired = pdTRUE;                   \\r
+       }                                                                                       \\r
+}\r
+\r
+#define portYIELD_FROM_ISR( x ) portEND_SWITCHING_ISR( x )\r
+#define portYIELD() __asm volatile ( "SWI 0            \n"                             \\r
+                                                                        "ISB             " );\r
+\r
+\r
+/*-----------------------------------------------------------\r
+ * Critical section control\r
+ *----------------------------------------------------------*/\r
+\r
+extern void vPortEnterCritical( void );\r
+extern void vPortExitCritical( void );\r
+extern uint32_t ulPortSetInterruptMask( void );\r
+extern void vPortClearInterruptMask( uint32_t ulNewMaskValue );\r
+extern void vPortInstallFreeRTOSVectorTable( void );\r
+\r
+/* The I bit within the CPSR. */\r
+#define portINTERRUPT_ENABLE_BIT       ( 1 << 7 )\r
+\r
+/* In the absence of a priority mask register, these functions and macros\r
+globally enable and disable interrupts. */\r
+#define portENTER_CRITICAL()           vPortEnterCritical();\r
+#define portEXIT_CRITICAL()                    vPortExitCritical();\r
+#define portENABLE_INTERRUPTS()                __asm volatile ( "CPSIE i       \n"     );\r
+#define portDISABLE_INTERRUPTS()       __asm volatile ( "CPSID i       \n"             \\r
+                                                                                                        "DSB           \n"             \\r
+                                                                                                        "ISB             " );\r
+\r
+__attribute__( ( always_inline ) ) static __inline uint32_t portSET_INTERRUPT_MASK_FROM_ISR( void )\r
+{\r
+volatile uint32_t ulCPSR;\r
+\r
+       __asm volatile ( "MRS %0, CPSR" : "=r" (ulCPSR) );\r
+       ulCPSR &= portINTERRUPT_ENABLE_BIT;\r
+       portDISABLE_INTERRUPTS();\r
+       return ulCPSR;\r
+}\r
+\r
+#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)   if( x != 0 ) portENABLE_INTERRUPTS()\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* Task function macros as described on the FreeRTOS.org WEB site.  These are\r
+not required for this port but included in case common demo code that uses these\r
+macros is used. */\r
+#define portTASK_FUNCTION_PROTO( vFunction, pvParameters )     void vFunction( void *pvParameters )\r
+#define portTASK_FUNCTION( vFunction, pvParameters )   void vFunction( void *pvParameters )\r
+\r
+/* Prototype of the FreeRTOS tick handler.  This must be installed as the\r
+handler for whichever peripheral is used to generate the RTOS tick. */\r
+void FreeRTOS_Tick_Handler( void );\r
+\r
+/* Any task that uses the floating point unit MUST call vPortTaskUsesFPU()\r
+before any floating point instructions are executed. */\r
+void vPortTaskUsesFPU( void );\r
+#define portTASK_USES_FLOATING_POINT() vPortTaskUsesFPU()\r
+\r
+#define portLOWEST_INTERRUPT_PRIORITY ( ( ( uint32_t ) configUNIQUE_INTERRUPT_PRIORITIES ) - 1UL )\r
+#define portLOWEST_USABLE_INTERRUPT_PRIORITY ( portLOWEST_INTERRUPT_PRIORITY - 1UL )\r
+\r
+/* Architecture specific optimisations. */\r
+#ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION\r
+       #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1\r
+#endif\r
+\r
+#if configUSE_PORT_OPTIMISED_TASK_SELECTION == 1\r
+\r
+       /* Store/clear the ready priorities in a bit map. */\r
+       #define portRECORD_READY_PRIORITY( uxPriority, uxReadyPriorities ) ( uxReadyPriorities ) |= ( 1UL << ( uxPriority ) )\r
+       #define portRESET_READY_PRIORITY( uxPriority, uxReadyPriorities ) ( uxReadyPriorities ) &= ~( 1UL << ( uxPriority ) )\r
+\r
+       /*-----------------------------------------------------------*/\r
+\r
+       #define portGET_HIGHEST_PRIORITY( uxTopPriority, uxReadyPriorities ) uxTopPriority = ( 31UL - __builtin_clz( uxReadyPriorities ) )\r
+\r
+#endif /* configUSE_PORT_OPTIMISED_TASK_SELECTION */\r
+\r
+#define portNOP() __asm volatile( "NOP" )\r
+#define portINLINE __inline\r
+\r
+#ifdef __cplusplus\r
+       } /* extern C */\r
+#endif\r
+\r
+\r
+#endif /* PORTMACRO_H */\r
+\r
index 4e6b29d880ed91b120b38cf16592a0edc8ce2e02..85833797172e7a0bd3a2b45470ff96e0bf63a37e 100644 (file)
@@ -247,7 +247,7 @@ PRIVILEGED_DATA static volatile UBaseType_t uxPendedTicks                   = ( UBaseType_t ) 0
 PRIVILEGED_DATA static volatile BaseType_t xYieldPending                       = pdFALSE;\r
 PRIVILEGED_DATA static volatile BaseType_t xNumOfOverflows                     = ( BaseType_t ) 0;\r
 PRIVILEGED_DATA static UBaseType_t uxTaskNumber                                        = ( UBaseType_t ) 0U;\r
-PRIVILEGED_DATA static volatile TickType_t xNextTaskUnblockTime                = ( TickType_t ) 0U; /* Initialised to portMAX_DELAY; before the scheduler starts. */\r
+PRIVILEGED_DATA static volatile TickType_t xNextTaskUnblockTime                = ( TickType_t ) 0U; /* Initialised to portMAX_DELAY before the scheduler starts. */\r
 \r
 /* Context switches are held pending while the scheduler is suspended.  Also,\r
 interrupts must not manipulate the xGenericListItem of a TCB, or any of the\r
@@ -3629,14 +3629,14 @@ TCB_t *pxTCB;
 \r
        static char *prvWriteNameToBuffer( char *pcBuffer, const char *pcTaskName )\r
        {\r
-       BaseType_t x;\r
+       size_t x;\r
 \r
                /* Start by copying the entire string. */\r
                strcpy( pcBuffer, pcTaskName );\r
 \r
                /* Pad the end of the string with spaces to ensure columns line up when\r
                printed out. */\r
-               for( x = strlen( pcBuffer ); x < ( configMAX_TASK_NAME_LEN - 1 ); x++ )\r
+               for( x = strlen( pcBuffer ); x < ( size_t ) ( configMAX_TASK_NAME_LEN - 1 ); x++ )\r
                {\r
                        pcBuffer[ x ] = ' ';\r
                }\r