OSDN Git Service

First commit develop master
authortakemasa <suikan@sourceforge.jp>
Fri, 3 Aug 2012 23:24:44 +0000 (08:24 +0900)
committertakemasa <suikan@sourceforge.jp>
Fri, 3 Aug 2012 23:24:44 +0000 (08:24 +0900)
18 files changed:
util-genmmrsyms/.cproject [new file with mode: 0644]
util-genmmrsyms/.cvsignore [new file with mode: 0644]
util-genmmrsyms/.project [new file with mode: 0644]
util-genmmrsyms/Makefile [new file with mode: 0644]
util-genmmrsyms/README [new file with mode: 0644]
util-genmmrsyms/bf518elf.ld [new file with mode: 0644]
util-genmmrsyms/bf532elf.ld [new file with mode: 0644]
util-genmmrsyms/bf537elf.ld [new file with mode: 0644]
util-genmmrsyms/bf592elf.ld [new file with mode: 0644]
util-genmmrsyms/chip_mmr_bf518.c [new file with mode: 0644]
util-genmmrsyms/chip_mmr_bf533.c [new file with mode: 0644]
util-genmmrsyms/chip_mmr_bf537.c [new file with mode: 0644]
util-genmmrsyms/chip_mmr_bf592.c [new file with mode: 0644]
util-genmmrsyms/cpu_mmr.c [new file with mode: 0644]
util-genmmrsyms/mmr_bf518.out [new file with mode: 0755]
util-genmmrsyms/mmr_bf533.out [new file with mode: 0755]
util-genmmrsyms/mmr_bf537.out [new file with mode: 0755]
util-genmmrsyms/mmr_bf592.out [new file with mode: 0755]

diff --git a/util-genmmrsyms/.cproject b/util-genmmrsyms/.cproject
new file mode 100644 (file)
index 0000000..eae72a9
--- /dev/null
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+       <storageModule moduleId="org.eclipse.cdt.core.settings">
+               <cconfiguration id="0.397353284">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.397353284" moduleId="org.eclipse.cdt.core.settings" name="Default">
+                               <externalSettings/>
+                               <extensions>
+                                       <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+                               </extensions>
+                       </storageModule>
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+                               <configuration artifactName="gen_mmr_symbols" buildProperties="" description="" id="0.397353284" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
+                                       <folderInfo id="0.397353284." name="/" resourcePath="">
+                                               <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1386038146" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
+                                                       <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1386038146.1856062313" name=""/>
+                                                       <builder id="org.eclipse.cdt.build.core.settings.default.builder.156502590" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
+                                                       <tool id="org.eclipse.cdt.build.core.settings.holder.libs.538609711" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
+                                                       <tool id="org.eclipse.cdt.build.core.settings.holder.1966935904" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
+                                                               <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1820015911" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+                                                       </tool>
+                                                       <tool id="org.eclipse.cdt.build.core.settings.holder.1600856673" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
+                                                               <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1010380330" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+                                                       </tool>
+                                                       <tool id="org.eclipse.cdt.build.core.settings.holder.2052203543" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
+                                                               <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1452869045" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+                                                       </tool>
+                                               </toolChain>
+                                       </folderInfo>
+                               </configuration>
+                       </storageModule>
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+                       <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
+                       <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
+                               <buildTargets>
+                                       <target name="all" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
+                                               <buildCommand>make</buildCommand>
+                                               <buildArguments/>
+                                               <buildTarget>all</buildTarget>
+                                               <stopOnError>true</stopOnError>
+                                               <useDefaultCommand>true</useDefaultCommand>
+                                               <runAllBuilders>true</runAllBuilders>
+                                       </target>
+                               </buildTargets>
+                       </storageModule>
+               </cconfiguration>
+       </storageModule>
+       <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+               <project id="gen_mmr_symbols.null.912761328" name="gen_mmr_symbols"/>
+       </storageModule>
+       <storageModule moduleId="scannerConfiguration">
+               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
+               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+                       <buildOutputProvider>
+                               <openAction enabled="true" filePath=""/>
+                               <parser enabled="true"/>
+                       </buildOutputProvider>
+                       <scannerInfoProvider id="specsFile">
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+                               <parser enabled="true"/>
+                       </scannerInfoProvider>
+               </profile>
+               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+                       <buildOutputProvider>
+                               <openAction enabled="true" filePath=""/>
+                               <parser enabled="true"/>
+                       </buildOutputProvider>
+                       <scannerInfoProvider id="makefileGenerator">
+                               <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+                               <parser enabled="true"/>
+                       </scannerInfoProvider>
+               </profile>
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+                       <buildOutputProvider>
+                               <openAction enabled="true" filePath=""/>
+                               <parser enabled="true"/>
+                       </buildOutputProvider>
+                       <scannerInfoProvider id="specsFile">
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+                               <parser enabled="true"/>
+                       </scannerInfoProvider>
+               </profile>
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
+                       <buildOutputProvider>
+                               <openAction enabled="true" filePath=""/>
+                               <parser enabled="true"/>
+                       </buildOutputProvider>
+                       <scannerInfoProvider id="specsFile">
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+                               <parser enabled="true"/>
+                       </scannerInfoProvider>
+               </profile>
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
+                       <buildOutputProvider>
+                               <openAction enabled="true" filePath=""/>
+                               <parser enabled="true"/>
+                       </buildOutputProvider>
+                       <scannerInfoProvider id="specsFile">
+                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+                               <parser enabled="true"/>
+                       </scannerInfoProvider>
+               </profile>
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+                       <buildOutputProvider>
+                               <openAction enabled="true" filePath=""/>
+                               <parser enabled="true"/>
+                       </buildOutputProvider>
+                       <scannerInfoProvider id="specsFile">
+                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>
+                               <parser enabled="true"/>
+                       </scannerInfoProvider>
+               </profile>
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
+                       <buildOutputProvider>
+                               <openAction enabled="true" filePath=""/>
+                               <parser enabled="true"/>
+                       </buildOutputProvider>
+                       <scannerInfoProvider id="specsFile">
+                               <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>
+                               <parser enabled="true"/>
+                       </scannerInfoProvider>
+               </profile>
+               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
+                       <buildOutputProvider>
+                               <openAction enabled="true" filePath=""/>
+                               <parser enabled="true"/>
+                       </buildOutputProvider>
+                       <scannerInfoProvider id="specsFile">
+                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>
+                               <parser enabled="true"/>
+                       </scannerInfoProvider>
+               </profile>
+               <scannerConfigBuildInfo instanceId="0.397353284">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+                               <buildOutputProvider>
+                                       <openAction enabled="true" filePath=""/>
+                                       <parser enabled="true"/>
+                               </buildOutputProvider>
+                               <scannerInfoProvider id="specsFile">
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+                                       <parser enabled="true"/>
+                               </scannerInfoProvider>
+                       </profile>
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+                               <buildOutputProvider>
+                                       <openAction enabled="true" filePath=""/>
+                                       <parser enabled="true"/>
+                               </buildOutputProvider>
+                               <scannerInfoProvider id="makefileGenerator">
+                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+                                       <parser enabled="true"/>
+                               </scannerInfoProvider>
+                       </profile>
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+                               <buildOutputProvider>
+                                       <openAction enabled="true" filePath=""/>
+                                       <parser enabled="true"/>
+                               </buildOutputProvider>
+                               <scannerInfoProvider id="specsFile">
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
+                                       <parser enabled="true"/>
+                               </scannerInfoProvider>
+                       </profile>
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
+                               <buildOutputProvider>
+                                       <openAction enabled="true" filePath=""/>
+                                       <parser enabled="true"/>
+                               </buildOutputProvider>
+                               <scannerInfoProvider id="specsFile">
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
+                                       <parser enabled="true"/>
+                               </scannerInfoProvider>
+                       </profile>
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
+                               <buildOutputProvider>
+                                       <openAction enabled="true" filePath=""/>
+                                       <parser enabled="true"/>
+                               </buildOutputProvider>
+                               <scannerInfoProvider id="specsFile">
+                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
+                                       <parser enabled="true"/>
+                               </scannerInfoProvider>
+                       </profile>
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+                               <buildOutputProvider>
+                                       <openAction enabled="true" filePath=""/>
+                                       <parser enabled="true"/>
+                               </buildOutputProvider>
+                               <scannerInfoProvider id="specsFile">
+                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>
+                                       <parser enabled="true"/>
+                               </scannerInfoProvider>
+                       </profile>
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
+                               <buildOutputProvider>
+                                       <openAction enabled="true" filePath=""/>
+                                       <parser enabled="true"/>
+                               </buildOutputProvider>
+                               <scannerInfoProvider id="specsFile">
+                                       <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>
+                                       <parser enabled="true"/>
+                               </scannerInfoProvider>
+                       </profile>
+                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
+                               <buildOutputProvider>
+                                       <openAction enabled="true" filePath=""/>
+                                       <parser enabled="true"/>
+                               </buildOutputProvider>
+                               <scannerInfoProvider id="specsFile">
+                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>
+                                       <parser enabled="true"/>
+                               </scannerInfoProvider>
+                       </profile>
+               </scannerConfigBuildInfo>
+       </storageModule>
+</cproject>
diff --git a/util-genmmrsyms/.cvsignore b/util-genmmrsyms/.cvsignore
new file mode 100644 (file)
index 0000000..ea5bd75
--- /dev/null
@@ -0,0 +1,4 @@
+mmr_bf518.out
+mmr_bf533.out
+mmr_bf537.out
+mmr_bf592.out
diff --git a/util-genmmrsyms/.project b/util-genmmrsyms/.project
new file mode 100644 (file)
index 0000000..e47f3d5
--- /dev/null
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>util-genmmrsyms</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+                       <triggers>clean,full,incremental,</triggers>
+                       <arguments>
+                               <dictionary>
+                                       <key>?name?</key>
+                                       <value></value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.append_environment</key>
+                                       <value>true</value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+                                       <value>all</value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.buildArguments</key>
+                                       <value></value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.buildCommand</key>
+                                       <value>make</value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+                                       <value>clean</value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.contents</key>
+                                       <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+                                       <value>false</value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+                                       <value>true</value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+                                       <value>true</value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+                                       <value>all</value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.stopOnError</key>
+                                       <value>true</value>
+                               </dictionary>
+                               <dictionary>
+                                       <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+                                       <value>true</value>
+                               </dictionary>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.cdt.core.cnature</nature>
+               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+               <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+       </natures>
+</projectDescription>
diff --git a/util-genmmrsyms/Makefile b/util-genmmrsyms/Makefile
new file mode 100644 (file)
index 0000000..be7755d
--- /dev/null
@@ -0,0 +1,33 @@
+CC = bfin-elf-gcc
+LD = bfin-elf-ld
+CCOPT = -g -c
+LDOPT = -nostdlib
+
+
+OBJBF533 = cpu_mmr.o chip_mmr_bf533.o 
+OBJBF537 = cpu_mmr.o chip_mmr_bf537.o 
+OBJBF518 = cpu_mmr.o chip_mmr_bf518.o 
+OBJBF592 = cpu_mmr.o chip_mmr_bf592.o 
+all:mmr_bf533.out mmr_bf518.out mmr_bf537.out mmr_bf592.out 
+
+clean:
+       rm *.o
+       rm *.out
+
+mmr_bf533.out : $(OBJBF533)
+       $(LD) $(OBJBF533) -$(LDOPT) -T bf532elf.ld -o mmr_bf533.out
+
+mmr_bf537.out : $(OBJBF537)
+       $(LD) $(OBJBF537) -$(LDOPT) -T bf537elf.ld -o mmr_bf537.out
+
+mmr_bf518.out : $(OBJBF518)
+       $(LD) $(OBJBF518) -$(LDOPT) -T bf518elf.ld -o mmr_bf518.out
+
+mmr_bf592.out : $(OBJBF592)
+       $(LD) $(OBJBF592) -$(LDOPT) -T bf592elf.ld -o mmr_bf592.out
+
+
+.c.o:
+       $(CC) $(CCOPT) $<
+
diff --git a/util-genmmrsyms/README b/util-genmmrsyms/README
new file mode 100644 (file)
index 0000000..f620475
--- /dev/null
@@ -0,0 +1,6 @@
+GDB用MMR シンボル生成プロジェクト
+                    2012/01/21 Suikan
+
+このプロジェクトは、Blackfin用のMMRシンボルをGDB用に生成するためのプロジェクトである。
+Makeを実行すると.out ファイルが生成される。使用しているプロセッサに応じて、gdbから
+シンボルを追加読み込みして使う。
\ No newline at end of file
diff --git a/util-genmmrsyms/bf518elf.ld b/util-genmmrsyms/bf518elf.ld
new file mode 100644 (file)
index 0000000..ede5513
--- /dev/null
@@ -0,0 +1,174 @@
+/*
+* ADSP-BF518 Rev 0.0ではアノーマリ05000444の影響でこのファイルを使用できない。
+* Rev 0.0 に対しては bf518elf_00.ldを使用すること。
+*/
+OUTPUT_FORMAT("elf32-bfin","elf32-bfin","elf32-bfin")
+OUTPUT_ARCH(bfin)
+
+
+MEMORY
+  {
+    MEM_SDRAM (XW)    : ORIGIN = 0x00000000, LENGTH = 128M
+    MEM_ASYNC_0 (XW)  : ORIGIN = 0x20000000, LENGTH = 1M
+    MEM_ASYNC_1 (XW)  : ORIGIN = 0x20100000, LENGTH = 1M
+    MEM_ASYNC_2 (XW)  : ORIGIN = 0x20200000, LENGTH = 1M
+    MEM_ASYNC_3 (XW)  : ORIGIN = 0x20300000, LENGTH = 1M
+
+    MEM_L1_DATA_A (W!X)  : ORIGIN = 0xff800000, LENGTH = 32K
+    MEM_L1_DATA_B (W!X)  : ORIGIN = 0xff900000, LENGTH = 16K    /* BF518のバンクBは32kBだが、キャッシュ用に16kBあけておく */
+    MEM_L1_CODE (XR)   : ORIGIN = 0xffa00000, LENGTH = 32K
+/*  MEM_L1_INST_C (XR)   : ORIGIN = 0xffa10000, LENGTH = 16K    BF518のバンクCは16kBだが、キャッシュ用にあけておく */
+    MEM_L1_SCRATCH (W!X) : ORIGIN = 0xffb00000, LENGTH = 4K
+
+    MEM_L2              : ORIGIN = 0xffe00000, LENGTH = 0   /* DUMMY */
+    
+    MEM_SYSMMR (W!X)  : ORIGIN = 0xffc00000, LENGTH = 2M
+    MEM_COREMMR (W!X) : ORIGIN = 0xffe00000, LENGTH = 2M
+  }
+
+SECTIONS
+{
+
+
+
+/* ADSP-BF518依存のSYSTEM MMR */
+    .bss.sysmmr (NOLOAD) : { . = 0x0000; *.o(SYSMMR0)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0100; *.o(SYSMMR1)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x010C; *.o(SYSMMR2)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x014C; *.o(SYSMMR3)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0200; *.o(SYSMMR4)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0300; *.o(SYSMMR5)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0400; *.o(SYSMMR6)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x041C; *.o(SYSMMR7)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0424; *.o(SYSMMR8)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0500; *.o(SYSMMR9)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0600; *.o(SYSMMR10)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0700; *.o(SYSMMR11)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0800; *.o(SYSMMR12)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0818; *.o(SYSMMR13)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0820; *.o(SYSMMR14)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0900; *.o(SYSMMR15)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0918; *.o(SYSMMR16)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0920; *.o(SYSMMR17)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0A00; *.o(SYSMMR18)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0A10; *.o(SYSMMR19)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0B0C; *.o(SYSMMR20)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C00; *.o(SYSMMR21)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C10; *.o(SYSMMR22)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C38; *.o(SYSMMR23)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C40; *.o(SYSMMR24)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C50; *.o(SYSMMR25)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C78; *.o(SYSMMR26)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C80; *.o(SYSMMR27)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C90; *.o(SYSMMR28)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0CB8; *.o(SYSMMR29)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0CC0; *.o(SYSMMR30)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0CD0; *.o(SYSMMR31)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0CF8; *.o(SYSMMR32)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D00; *.o(SYSMMR33)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D10; *.o(SYSMMR34)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D38; *.o(SYSMMR35)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D40; *.o(SYSMMR36)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D50; *.o(SYSMMR37)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D78; *.o(SYSMMR38)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D80; *.o(SYSMMR39)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D90; *.o(SYSMMR40)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0DB8; *.o(SYSMMR41)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0DC0; *.o(SYSMMR42)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0DD0; *.o(SYSMMR43)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0DF8; *.o(SYSMMR44)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E00; *.o(SYSMMR45)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E10; *.o(SYSMMR46)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E38; *.o(SYSMMR47)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E40; *.o(SYSMMR48)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E50; *.o(SYSMMR49)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E78; *.o(SYSMMR50)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E80; *.o(SYSMMR51)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E90; *.o(SYSMMR52)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0EB8; *.o(SYSMMR53)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0EC0; *.o(SYSMMR54)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0ED0; *.o(SYSMMR55)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0EF8; *.o(SYSMMR56)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F00; *.o(SYSMMR57)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F10; *.o(SYSMMR58)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F38; *.o(SYSMMR59)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F40; *.o(SYSMMR60)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F50; *.o(SYSMMR61)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F78; *.o(SYSMMR62)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F80; *.o(SYSMMR63)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F90; *.o(SYSMMR64)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0FB8; *.o(SYSMMR65)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0FC0; *.o(SYSMMR66)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0FD0; *.o(SYSMMR67)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0FF8; *.o(SYSMMR68)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1000; *.o(SYSMMR69)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1400; *.o(SYSMMR70)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1480; *.o(SYSMMR71)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1500; *.o(SYSMMR72)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1700; *.o(SYSMMR73)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x2000; *.o(SYSMMR74)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x201C; *.o(SYSMMR75)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x2024; *.o(SYSMMR76)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3000; *.o(SYSMMR77)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x302C; *.o(SYSMMR78)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3060; *.o(SYSMMR79)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x30A0; *.o(SYSMMR80)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3100; *.o(SYSMMR81)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3180; *.o(SYSMMR82)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3200; *.o(SYSMMR83)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3210; *.o(SYSMMR84)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3220; *.o(SYSMMR85)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3240; *.o(SYSMMR86)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3280; *.o(SYSMMR87)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3288; *.o(SYSMMR88)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3300; *.o(SYSMMR89)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3340; *.o(SYSMMR90)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3400; *.o(SYSMMR91)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3500; *.o(SYSMMR92)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3620; *.o(SYSMMR93)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3680; *.o(SYSMMR94)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3700; *.o(SYSMMR95)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3800; *.o(SYSMMR96)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3848; *.o(SYSMMR97)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3880; *.o(SYSMMR98)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x38C0; *.o(SYSMMR99)}>MEM_SYSMMR
+
+
+
+
+
+/* Blackfin 共有のCORE MMR */    
+    .bss.coremmr (NOLOAD) : {                    *.o(DMEMCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DCPLBA)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DCPLBD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DTESTC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DTESTD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(IMEMCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ICPLBA)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ICPLBD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ITESTC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ITESTD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(EVT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(CEC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(CTMR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000)+0x1000; *.o(DBG)}> MEM_COREMMR  /* 1000飛ばす */
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(TBCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(TBUF)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(WPICTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPIADDR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPICNT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(WPDCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPDADDR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPDCNT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(WPSTAT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(PFCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(PFCNT)}> MEM_COREMMR
+
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
diff --git a/util-genmmrsyms/bf532elf.ld b/util-genmmrsyms/bf532elf.ld
new file mode 100644 (file)
index 0000000..a26fc8a
--- /dev/null
@@ -0,0 +1,77 @@
+
+OUTPUT_FORMAT("elf32-bfin","elf32-bfin","elf32-bfin")
+OUTPUT_ARCH(bfin)
+
+
+MEMORY
+  {
+    MEM_SDRAM (XW)    : ORIGIN = 0x00000000, LENGTH = 128M
+    MEM_ASYNC_0 (XW)  : ORIGIN = 0x20000000, LENGTH = 1M
+    MEM_ASYNC_1 (XW)  : ORIGIN = 0x20100000, LENGTH = 1M
+    MEM_ASYNC_2 (XW)  : ORIGIN = 0x20200000, LENGTH = 1M
+    MEM_ASYNC_3 (XW)  : ORIGIN = 0x20300000, LENGTH = 1M
+
+    MEM_L1_DATA_A (W!X)  : ORIGIN = 0xff804000, LENGTH = 16K
+    MEM_L1_CODE (XR)     : ORIGIN = 0xffa08000, LENGTH = 48K
+    MEM_L1_SCRATCH (W!X) : ORIGIN = 0xffb00000, LENGTH = 4K
+    
+    MEM_L2              : ORIGIN = 0xffe00000, LENGTH = 0   /* DUMMY */
+    
+    MEM_SYSMMR (W!X)  : ORIGIN = 0xffc00000, LENGTH = 2M
+    MEM_COREMMR (W!X) : ORIGIN = 0xffe00000, LENGTH = 2M
+  }
+SECTIONS
+{
+    
+/* ADSP-BF533依存のSYSTEM MMR */ 
+    .bss.sysmmr (NOLOAD) : {                    *.o(PWRMGMT)}> MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(SYSRST)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(WDOG)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(RTC)}    > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(UART)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(SPI)}    > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(TIMER)}  > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0040); *.o(TMRCTL)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(FLAG)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(SPORT0)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(SPORT1)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(EBIU)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DMATC)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DMA)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x1000); *.o(PPI)} > MEM_SYSMMR
+
+/* Blackfin 共有のCORE MMR */    
+    .bss.coremmr (NOLOAD) : {                    *.o(DMEMCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DCPLBA)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DCPLBD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DTESTC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DTESTD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(IMEMCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ICPLBA)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ICPLBD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ITESTC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ITESTD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(EVT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(CEC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(CTMR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000)+0x1000; *.o(DBG)}> MEM_COREMMR  /* 1000飛ばす */
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(TBCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(TBUF)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(WPICTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPIADDR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPICNT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(WPDCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPDADDR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPDCNT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(WPSTAT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(PFCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(PFCNT)}> MEM_COREMMR
+    
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
diff --git a/util-genmmrsyms/bf537elf.ld b/util-genmmrsyms/bf537elf.ld
new file mode 100644 (file)
index 0000000..9636203
--- /dev/null
@@ -0,0 +1,94 @@
+
+OUTPUT_FORMAT("elf32-bfin","elf32-bfin","elf32-bfin")
+OUTPUT_ARCH(bfin)
+
+
+MEMORY
+  {
+    MEM_SDRAM (XW)    : ORIGIN = 0x00000000, LENGTH = 128M
+    MEM_ASYNC_0 (XW)  : ORIGIN = 0x20000000, LENGTH = 1M
+    MEM_ASYNC_1 (XW)  : ORIGIN = 0x20100000, LENGTH = 1M
+    MEM_ASYNC_2 (XW)  : ORIGIN = 0x20200000, LENGTH = 1M
+    MEM_ASYNC_3 (XW)  : ORIGIN = 0x20300000, LENGTH = 1M
+
+    MEM_L1_DATA_A (W!X)  : ORIGIN = 0xff800000, LENGTH = 32K
+    MEM_L1_DATA_B (W!X)  : ORIGIN = 0xff900000, LENGTH = 16K
+    MEM_L1_CODE (XR)   : ORIGIN = 0xffa00000, LENGTH = 48K
+    MEM_L1_SCRATCH (W!X) : ORIGIN = 0xffb00000, LENGTH = 4K
+
+    MEM_L2              : ORIGIN = 0xffe00000, LENGTH = 0   /* DUMMY */
+    
+    MEM_SYSMMR (W!X)  : ORIGIN = 0xffc00000, LENGTH = 2M
+    MEM_COREMMR (W!X) : ORIGIN = 0xffe00000, LENGTH = 2M
+  }
+
+SECTIONS
+{
+    
+/* ADSP-BF533依存のSYSTEM MMR */ 
+    .bss.sysmmr (NOLOAD) : {                    *.o(PWRMGMT)}> MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(SYSRST)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(WDOG)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(RTC)}    > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(UART0)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(SPI)}    > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(TIMER)}  > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0040); *.o(TMRCTL)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(FLAGF)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(SPORT0)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(SPORT1)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(EBIU)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DMATC)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DMA)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x1000); *.o(PPI)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0400); *.o(TWI)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0080); *.o(TWIDATA)} > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(FLAGG)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100)+0x0100; *.o(FLAGH)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x1000); *.o(UART1)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0800)+0x0200; *.o(CANCTL0)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0040); *.o(CANCTL1)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0040); *.o(CANCTL2)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(CANMBX)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x1000); *.o(EMAC)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(EMACR)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0080); *.o(EMACT)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0200); *.o(PORTFER)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0100); *.o(HDMA0)}   > MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = ALIGN(0x0040); *.o(HDMA1)}   > MEM_SYSMMR
+
+/* Blackfin 共有のCORE MMR */    
+    .bss.coremmr (NOLOAD) : {                    *.o(DMEMCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DCPLBA)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DCPLBD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DTESTC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DTESTD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(IMEMCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ICPLBA)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ICPLBD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ITESTC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ITESTD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(EVT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(CEC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(CTMR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000)+0x1000; *.o(DBG)}> MEM_COREMMR  /* 1000飛ばす */
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(TBCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(TBUF)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(WPICTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPIADDR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPICNT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(WPDCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPDADDR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPDCNT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(WPSTAT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(PFCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(PFCNT)}> MEM_COREMMR
+    
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
diff --git a/util-genmmrsyms/bf592elf.ld b/util-genmmrsyms/bf592elf.ld
new file mode 100644 (file)
index 0000000..5dba020
--- /dev/null
@@ -0,0 +1,160 @@
+
+OUTPUT_FORMAT("elf32-bfin","elf32-bfin","elf32-bfin")
+OUTPUT_ARCH(bfin)
+
+
+MEMORY
+  {
+
+    
+    MEM_SYSMMR (W!X)  : ORIGIN = 0xffc00000, LENGTH = 2M
+    MEM_COREMMR (W!X) : ORIGIN = 0xffe00000, LENGTH = 2M
+  }
+
+SECTIONS
+{
+
+
+
+/* ADSP-BF518依存のSYSTEM MMR */
+    .bss.sysmmr (NOLOAD) : { . = 0x0000; *.o(SYSMMR0)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0100; *.o(SYSMMR1)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x010C; *.o(SYSMMR2)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x014C; *.o(SYSMMR3)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0200; *.o(SYSMMR4)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0300; *.o(SYSMMR5)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0400; *.o(SYSMMR6)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x041C; *.o(SYSMMR7)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0424; *.o(SYSMMR8)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0500; *.o(SYSMMR9)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0600; *.o(SYSMMR10)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0640; *.o(SYSMMR105)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0700; *.o(SYSMMR11)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0800; *.o(SYSMMR12)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0818; *.o(SYSMMR13)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0820; *.o(SYSMMR14)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0900; *.o(SYSMMR15)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0918; *.o(SYSMMR16)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0920; *.o(SYSMMR17)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0A00; *.o(SYSMMR18)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0A10; *.o(SYSMMR19)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0B0C; *.o(SYSMMR20)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C00; *.o(SYSMMR21)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C10; *.o(SYSMMR22)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C38; *.o(SYSMMR23)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C40; *.o(SYSMMR24)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C50; *.o(SYSMMR25)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C78; *.o(SYSMMR26)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C80; *.o(SYSMMR27)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0C90; *.o(SYSMMR28)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0CB8; *.o(SYSMMR29)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0CC0; *.o(SYSMMR30)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0CD0; *.o(SYSMMR31)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0CF8; *.o(SYSMMR32)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D00; *.o(SYSMMR33)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D10; *.o(SYSMMR34)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D38; *.o(SYSMMR35)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D40; *.o(SYSMMR36)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D50; *.o(SYSMMR37)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D78; *.o(SYSMMR38)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D80; *.o(SYSMMR39)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0D90; *.o(SYSMMR40)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0DB8; *.o(SYSMMR41)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0DC0; *.o(SYSMMR42)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0DD0; *.o(SYSMMR43)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0DF8; *.o(SYSMMR44)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E00; *.o(SYSMMR45)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E10; *.o(SYSMMR46)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E38; *.o(SYSMMR47)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E40; *.o(SYSMMR48)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E50; *.o(SYSMMR49)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E78; *.o(SYSMMR50)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E80; *.o(SYSMMR51)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0E90; *.o(SYSMMR52)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0EB8; *.o(SYSMMR53)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0EC0; *.o(SYSMMR54)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0ED0; *.o(SYSMMR55)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0EF8; *.o(SYSMMR56)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F00; *.o(SYSMMR57)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F10; *.o(SYSMMR58)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F38; *.o(SYSMMR59)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F40; *.o(SYSMMR60)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F50; *.o(SYSMMR61)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F78; *.o(SYSMMR62)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F80; *.o(SYSMMR63)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0F90; *.o(SYSMMR64)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0FB8; *.o(SYSMMR65)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0FC0; *.o(SYSMMR66)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0FD0; *.o(SYSMMR67)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x0FF8; *.o(SYSMMR68)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1000; *.o(SYSMMR69)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1100; *.o(SYSMMR83)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1200; *.o(SYSMMR84)}>MEM_SYSMMR  
+    .bss.sysmmr (NOLOAD) : { . = 0x1300; *.o(SYSMMR91)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1400; *.o(SYSMMR70)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1480; *.o(SYSMMR71)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1500; *.o(SYSMMR72)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x1700; *.o(SYSMMR73)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x2000; *.o(SYSMMR74)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x201C; *.o(SYSMMR75)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x2024; *.o(SYSMMR76)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3000; *.o(SYSMMR77)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x302C; *.o(SYSMMR78)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3060; *.o(SYSMMR79)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x30A0; *.o(SYSMMR80)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3100; *.o(SYSMMR81)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3180; *.o(SYSMMR82)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3220; *.o(SYSMMR85)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3240; *.o(SYSMMR86)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3280; *.o(SYSMMR87)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3288; *.o(SYSMMR88)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3300; *.o(SYSMMR89)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3340; *.o(SYSMMR90)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3500; *.o(SYSMMR92)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3620; *.o(SYSMMR93)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3680; *.o(SYSMMR94)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3700; *.o(SYSMMR95)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3800; *.o(SYSMMR96)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3848; *.o(SYSMMR97)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x3880; *.o(SYSMMR98)}>MEM_SYSMMR
+    .bss.sysmmr (NOLOAD) : { . = 0x38C0; *.o(SYSMMR99)}>MEM_SYSMMR
+
+
+
+
+
+/* Blackfin 共有のCORE MMR */    
+    .bss.coremmr (NOLOAD) : {                    *.o(DMEMCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DCPLBA)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DCPLBD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DTESTC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(DTESTD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(IMEMCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ICPLBA)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ICPLBD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ITESTC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(ITESTD)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(EVT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(CEC)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(CTMR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000)+0x1000; *.o(DBG)}> MEM_COREMMR  /* 1000飛ばす */
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(TBCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(TBUF)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(WPICTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPIADDR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPICNT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(WPDCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPDADDR)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); *.o(WPDCNT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(WPSTAT)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); *.o(PFCTL)}> MEM_COREMMR
+    .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); *.o(PFCNT)}> MEM_COREMMR
+
+    .comment        0 : { *(.comment) }
+    .debug          0 : { *(.debug) }
+    .line           0 : { *(.line) }
+    .debug_srcinfo  0 : { *(.debug_srcinfo) }
+    .debug_sfnames  0 : { *(.debug_sfnames) }
+    .debug_aranges  0 : { *(.debug_aranges) }
+    .debug_pubnames 0 : { *(.debug_pubnames) }
+}
diff --git a/util-genmmrsyms/chip_mmr_bf518.c b/util-genmmrsyms/chip_mmr_bf518.c
new file mode 100644 (file)
index 0000000..bb5cab7
--- /dev/null
@@ -0,0 +1,672 @@
+/*
+ * ADSP-BF518の System MMR 定義。アドレスの指定は .ldファイルとの組み合わせで行う。
+ * .ldファイルのサンプルは、 config/blackfin/ezkit_bf518を参照。
+ *
+ * アドレスが正しく割り当てられているかは、次の方法で検証した.
+ *
+ $ cat /opt/uClinux/bfin-elf/bfin-elf/include/def_LPBlackfin.h ../jsp/config/blackfin/_common_bf518/defBF51x_base.h ../jsp/config/blackfin/_common_bf518/defBF518.h | tr '[a-z]' '[A-Z]' | grep '0XFF[CE]0' | grep "#DEFINE" | awk '{print $2, $3}' - | grep 0X  | sed 's/0X//' |  sort -k 2 > regdef.txt
+ $ awk '{ print $3,$1 }' jsp.syms | grep _mmr | sed 's/_mmr//p'| sort -k 2 | uniq  | tr '[a-z]' '[A-Z]'> regelf.txt
+ $ diff regelf.txt regdef.txt > diff.txt
+
+31a32,34
+> RTC_PREN FFC00314
+> UART0_DLL FFC00400
+> UART0_RBR FFC00400
+32a36
+> UART0_DLH FFC00404
+149a154
+> DMA_TCPER FFC00B0C
+150a156
+> DMA_TCCNT FFC00B10
+414a421,422
+> UART1_DLL FFC02000
+> UART1_RBR FFC02000
+415a424
+> UART1_DLH FFC02004
+567a577,580
+> OTP_CONTROL FFC03600
+> OTP_BEN FFC03604
+> OTP_STATUS FFC03608
+> OTP_TIMING FFC0360C
+619a633
+> DCPLB_FAULT_STATUS FFE00008
+657d670
+< IMEM_DUMMY FFE01000
+658a672
+> CODE_FAULT_STATUS FFE01008
+659a674
+> CODE_FAULT_ADDR FFE0100C
+712d726
+< IDUMMY FFE02100
+722d735
+< DBGDUMMY FFE05004
+
+ * これらのうち、ELF側にだけ存在するレジスタはDUMMYレジスタであり、これはコアレジスタである。
+ * ツールのバージョン違いでインクルードファイルの内容が改変されたためであり、無視していい。
+ *
+ * DEF側にだけ存在するレジスタには2種類ある。
+ * 1. 他のレジスタのエイリアス
+ * 2. def***.hには存在するが、cdef***.hには存在しないレジスタ
+ *
+ * いずれも小さな問題であり、したがって、上の結果は問題ないと言える。
+ *
+ */
+
+volatile unsigned short  mmrPLL_CTL __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned short  mmrPLL_DIV __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned short  mmrVR_CTL __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned short  mmrPLL_STAT __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned short  mmrPLL_LOCKCNT __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned long   mmrCHIPID __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned short  mmrSWRST __attribute ((aligned(4), section("SYSMMR1")));
+volatile unsigned short  mmrSYSCR __attribute ((aligned(4), section("SYSMMR1")));
+volatile unsigned long   mmrSIC_IMASK0 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IAR0 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IAR1 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IAR2 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IAR3 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_ISR0 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IWR0 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IMASK1 __attribute ((aligned(4), section("SYSMMR3")));
+volatile unsigned long   mmrSIC_IAR4 __attribute ((aligned(4), section("SYSMMR3")));
+volatile unsigned long   mmrSIC_IAR5 __attribute ((aligned(4), section("SYSMMR3")));
+volatile unsigned long   mmrSIC_IAR6 __attribute ((aligned(4), section("SYSMMR3")));
+volatile unsigned long   mmrSIC_IAR7 __attribute ((aligned(4), section("SYSMMR3")));
+volatile unsigned long   mmrSIC_ISR1 __attribute ((aligned(4), section("SYSMMR3")));
+volatile unsigned long   mmrSIC_IWR1 __attribute ((aligned(4), section("SYSMMR3")));
+volatile unsigned short  mmrWDOG_CTL __attribute ((aligned(4), section("SYSMMR4")));
+volatile unsigned long   mmrWDOG_CNT __attribute ((aligned(4), section("SYSMMR4")));
+volatile unsigned long   mmrWDOG_STAT __attribute ((aligned(4), section("SYSMMR4")));
+volatile unsigned long   mmrRTC_STAT __attribute ((aligned(4), section("SYSMMR5")));
+volatile unsigned short  mmrRTC_ICTL __attribute ((aligned(4), section("SYSMMR5")));
+volatile unsigned short  mmrRTC_ISTAT __attribute ((aligned(4), section("SYSMMR5")));
+volatile unsigned short  mmrRTC_SWCNT __attribute ((aligned(4), section("SYSMMR5")));
+volatile unsigned long   mmrRTC_ALARM __attribute ((aligned(4), section("SYSMMR5")));
+volatile unsigned short  mmrRTC_FAST __attribute ((aligned(4), section("SYSMMR5")));
+volatile unsigned short  mmrUART0_THR __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_IER __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_IIR __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_LCR __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_MCR __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_LSR __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_SCR __attribute ((aligned(4), section("SYSMMR7")));
+volatile unsigned short  mmrUART0_GCTL __attribute ((aligned(4), section("SYSMMR8")));
+volatile unsigned short  mmrSPI0_CTL __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_FLG __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_STAT __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_TDBR __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_RDBR __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_BAUD __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_SHADOW __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrTIMER0_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER0_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER0_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER0_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER1_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER1_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER1_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER1_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER2_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER2_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER2_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER2_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER3_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER3_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER3_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER3_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER4_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER4_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER4_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER4_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER5_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER5_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER5_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER5_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER6_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER6_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER6_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER6_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER7_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER7_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER7_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER7_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER_ENABLE __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER_DISABLE __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER_STATUS __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrPORTFIO __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_CLEAR __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_SET __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_TOGGLE __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKA __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKA_CLEAR __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKA_SET __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKA_TOGGLE __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKB __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKB_CLEAR __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKB_SET __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKB_TOGGLE __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_DIR __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_POLAR __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_EDGE __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_BOTH __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_INEN __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrSPORT0_TCR1 __attribute ((aligned(4), section("SYSMMR12")));
+volatile unsigned short  mmrSPORT0_TCR2 __attribute ((aligned(4), section("SYSMMR12")));
+volatile unsigned short  mmrSPORT0_TCLKDIV __attribute ((aligned(4), section("SYSMMR12")));
+volatile unsigned short  mmrSPORT0_TFSDIV __attribute ((aligned(4), section("SYSMMR12")));
+volatile unsigned long   mmrSPORT0_TX __attribute ((aligned(4), section("SYSMMR12")));
+volatile unsigned long   mmrSPORT0_RX __attribute ((aligned(4), section("SYSMMR13")));
+volatile unsigned short  mmrSPORT0_RCR1 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_RCR2 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_RCLKDIV __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_RFSDIV __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_STAT __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_CHNL __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_MCMC1 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_MCMC2 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MTCS0 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MTCS1 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MTCS2 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MTCS3 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MRCS0 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MRCS1 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MRCS2 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MRCS3 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT1_TCR1 __attribute ((aligned(4), section("SYSMMR15")));
+volatile unsigned short  mmrSPORT1_TCR2 __attribute ((aligned(4), section("SYSMMR15")));
+volatile unsigned short  mmrSPORT1_TCLKDIV __attribute ((aligned(4), section("SYSMMR15")));
+volatile unsigned short  mmrSPORT1_TFSDIV __attribute ((aligned(4), section("SYSMMR15")));
+volatile unsigned long   mmrSPORT1_TX __attribute ((aligned(4), section("SYSMMR15")));
+volatile unsigned long   mmrSPORT1_RX __attribute ((aligned(4), section("SYSMMR16")));
+volatile unsigned short  mmrSPORT1_RCR1 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_RCR2 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_RCLKDIV __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_RFSDIV __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_STAT __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_CHNL __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_MCMC1 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_MCMC2 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MTCS0 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MTCS1 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MTCS2 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MTCS3 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MRCS0 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MRCS1 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MRCS2 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MRCS3 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrEBIU_AMGCTL __attribute ((aligned(4), section("SYSMMR18")));
+volatile unsigned long   mmrEBIU_AMBCTL0 __attribute ((aligned(4), section("SYSMMR18")));
+volatile unsigned long   mmrEBIU_AMBCTL1 __attribute ((aligned(4), section("SYSMMR18")));
+volatile unsigned long   mmrEBIU_SDGCTL __attribute ((aligned(4), section("SYSMMR19")));
+volatile unsigned short  mmrEBIU_SDBCTL __attribute ((aligned(4), section("SYSMMR19")));
+volatile unsigned short  mmrEBIU_SDRRC __attribute ((aligned(4), section("SYSMMR19")));
+volatile unsigned short  mmrEBIU_SDSTAT __attribute ((aligned(4), section("SYSMMR19")));
+volatile unsigned short  mmrDMA_TC_PER __attribute ((aligned(4), section("SYSMMR20")));
+volatile unsigned short  mmrDMA_TC_CNT __attribute ((aligned(4), section("SYSMMR20")));
+volatile unsigned long   mmrDMA0_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR21")));
+volatile unsigned long   mmrDMA0_START_ADDR __attribute ((aligned(4), section("SYSMMR21")));
+volatile unsigned short  mmrDMA0_CONFIG __attribute ((aligned(4), section("SYSMMR21")));
+volatile unsigned short  mmrDMA0_X_COUNT __attribute ((aligned(4), section("SYSMMR22")));
+volatile signed   short  mmrDMA0_X_MODIFY __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned short  mmrDMA0_Y_COUNT __attribute ((aligned(4), section("SYSMMR22")));
+volatile signed   short  mmrDMA0_Y_MODIFY __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned long   mmrDMA0_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned long   mmrDMA0_CURR_ADDR __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned short  mmrDMA0_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned short  mmrDMA0_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned short  mmrDMA0_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned short  mmrDMA0_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR23")));
+volatile unsigned long   mmrDMA1_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR24")));
+volatile unsigned long   mmrDMA1_START_ADDR __attribute ((aligned(4), section("SYSMMR24")));
+volatile unsigned short  mmrDMA1_CONFIG __attribute ((aligned(4), section("SYSMMR24")));
+volatile unsigned short  mmrDMA1_X_COUNT __attribute ((aligned(4), section("SYSMMR25")));
+volatile signed   short  mmrDMA1_X_MODIFY __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned short  mmrDMA1_Y_COUNT __attribute ((aligned(4), section("SYSMMR25")));
+volatile signed   short  mmrDMA1_Y_MODIFY __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned long   mmrDMA1_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned long   mmrDMA1_CURR_ADDR __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned short  mmrDMA1_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned short  mmrDMA1_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned short  mmrDMA1_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned short  mmrDMA1_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR26")));
+volatile unsigned long   mmrDMA2_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR27")));
+volatile unsigned long   mmrDMA2_START_ADDR __attribute ((aligned(4), section("SYSMMR27")));
+volatile unsigned short  mmrDMA2_CONFIG __attribute ((aligned(4), section("SYSMMR27")));
+volatile unsigned short  mmrDMA2_X_COUNT __attribute ((aligned(4), section("SYSMMR28")));
+volatile signed   short  mmrDMA2_X_MODIFY __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned short  mmrDMA2_Y_COUNT __attribute ((aligned(4), section("SYSMMR28")));
+volatile signed   short  mmrDMA2_Y_MODIFY __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned long   mmrDMA2_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned long   mmrDMA2_CURR_ADDR __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned short  mmrDMA2_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned short  mmrDMA2_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned short  mmrDMA2_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned short  mmrDMA2_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR29")));
+volatile unsigned long   mmrDMA3_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR30")));
+volatile unsigned long   mmrDMA3_START_ADDR __attribute ((aligned(4), section("SYSMMR30")));
+volatile unsigned short  mmrDMA3_CONFIG __attribute ((aligned(4), section("SYSMMR30")));
+volatile unsigned short  mmrDMA3_X_COUNT __attribute ((aligned(4), section("SYSMMR31")));
+volatile signed   short  mmrDMA3_X_MODIFY __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned short  mmrDMA3_Y_COUNT __attribute ((aligned(4), section("SYSMMR31")));
+volatile signed   short  mmrDMA3_Y_MODIFY __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned long   mmrDMA3_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned long   mmrDMA3_CURR_ADDR __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned short  mmrDMA3_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned short  mmrDMA3_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned short  mmrDMA3_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned short  mmrDMA3_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR32")));
+volatile unsigned long   mmrDMA4_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR33")));
+volatile unsigned long   mmrDMA4_START_ADDR __attribute ((aligned(4), section("SYSMMR33")));
+volatile unsigned short  mmrDMA4_CONFIG __attribute ((aligned(4), section("SYSMMR33")));
+volatile unsigned short  mmrDMA4_X_COUNT __attribute ((aligned(4), section("SYSMMR34")));
+volatile signed   short  mmrDMA4_X_MODIFY __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned short  mmrDMA4_Y_COUNT __attribute ((aligned(4), section("SYSMMR34")));
+volatile signed   short  mmrDMA4_Y_MODIFY __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned long   mmrDMA4_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned long   mmrDMA4_CURR_ADDR __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned short  mmrDMA4_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned short  mmrDMA4_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned short  mmrDMA4_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned short  mmrDMA4_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR35")));
+volatile unsigned long   mmrDMA5_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR36")));
+volatile unsigned long   mmrDMA5_START_ADDR __attribute ((aligned(4), section("SYSMMR36")));
+volatile unsigned short  mmrDMA5_CONFIG __attribute ((aligned(4), section("SYSMMR36")));
+volatile unsigned short  mmrDMA5_X_COUNT __attribute ((aligned(4), section("SYSMMR37")));
+volatile signed   short  mmrDMA5_X_MODIFY __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned short  mmrDMA5_Y_COUNT __attribute ((aligned(4), section("SYSMMR37")));
+volatile signed   short  mmrDMA5_Y_MODIFY __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned long   mmrDMA5_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned long   mmrDMA5_CURR_ADDR __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned short  mmrDMA5_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned short  mmrDMA5_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned short  mmrDMA5_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned short  mmrDMA5_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR38")));
+volatile unsigned long   mmrDMA6_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR39")));
+volatile unsigned long   mmrDMA6_START_ADDR __attribute ((aligned(4), section("SYSMMR39")));
+volatile unsigned short  mmrDMA6_CONFIG __attribute ((aligned(4), section("SYSMMR39")));
+volatile unsigned short  mmrDMA6_X_COUNT __attribute ((aligned(4), section("SYSMMR40")));
+volatile signed   short  mmrDMA6_X_MODIFY __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned short  mmrDMA6_Y_COUNT __attribute ((aligned(4), section("SYSMMR40")));
+volatile signed   short  mmrDMA6_Y_MODIFY __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned long   mmrDMA6_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned long   mmrDMA6_CURR_ADDR __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned short  mmrDMA6_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned short  mmrDMA6_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned short  mmrDMA6_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned short  mmrDMA6_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR41")));
+volatile unsigned long   mmrDMA7_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR42")));
+volatile unsigned long   mmrDMA7_START_ADDR __attribute ((aligned(4), section("SYSMMR42")));
+volatile unsigned short  mmrDMA7_CONFIG __attribute ((aligned(4), section("SYSMMR42")));
+volatile unsigned short  mmrDMA7_X_COUNT __attribute ((aligned(4), section("SYSMMR43")));
+volatile signed   short  mmrDMA7_X_MODIFY __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned short  mmrDMA7_Y_COUNT __attribute ((aligned(4), section("SYSMMR43")));
+volatile signed   short  mmrDMA7_Y_MODIFY __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned long   mmrDMA7_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned long   mmrDMA7_CURR_ADDR __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned short  mmrDMA7_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned short  mmrDMA7_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned short  mmrDMA7_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned short  mmrDMA7_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR44")));
+volatile unsigned long   mmrDMA8_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR45")));
+volatile unsigned long   mmrDMA8_START_ADDR __attribute ((aligned(4), section("SYSMMR45")));
+volatile unsigned short  mmrDMA8_CONFIG __attribute ((aligned(4), section("SYSMMR45")));
+volatile unsigned short  mmrDMA8_X_COUNT __attribute ((aligned(4), section("SYSMMR46")));
+volatile signed   short  mmrDMA8_X_MODIFY __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned short  mmrDMA8_Y_COUNT __attribute ((aligned(4), section("SYSMMR46")));
+volatile signed   short  mmrDMA8_Y_MODIFY __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned long   mmrDMA8_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned long   mmrDMA8_CURR_ADDR __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned short  mmrDMA8_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned short  mmrDMA8_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned short  mmrDMA8_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned short  mmrDMA8_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR47")));
+volatile unsigned long   mmrDMA9_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR48")));
+volatile unsigned long   mmrDMA9_START_ADDR __attribute ((aligned(4), section("SYSMMR48")));
+volatile unsigned short  mmrDMA9_CONFIG __attribute ((aligned(4), section("SYSMMR48")));
+volatile unsigned short  mmrDMA9_X_COUNT __attribute ((aligned(4), section("SYSMMR49")));
+volatile signed   short  mmrDMA9_X_MODIFY __attribute ((aligned(4), section("SYSMMR49")));
+volatile unsigned short  mmrDMA9_Y_COUNT __attribute ((aligned(4), section("SYSMMR49")));
+volatile signed   short  mmrDMA9_Y_MODIFY __attribute ((aligned(4), section("SYSMMR49")));
+volatile unsigned long   mmrDMA9_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR49")));
+volatile unsigned long   mmrDMA9_CURR_ADDR __attribute ((aligned(4), section("SYSMMR49")));
+volatile unsigned short  mmrDMA9_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR49")));
+volatile unsigned short  mmrDMA9_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR49")));
+volatile unsigned short  mmrDMA9_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR49")));
+volatile unsigned short  mmrDMA9_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR50")));
+volatile unsigned long   mmrDMA10_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR51")));
+volatile unsigned long   mmrDMA10_START_ADDR __attribute ((aligned(4), section("SYSMMR51")));
+volatile unsigned short  mmrDMA10_CONFIG __attribute ((aligned(4), section("SYSMMR51")));
+volatile unsigned short  mmrDMA10_X_COUNT __attribute ((aligned(4), section("SYSMMR52")));
+volatile signed   short  mmrDMA10_X_MODIFY __attribute ((aligned(4), section("SYSMMR52")));
+volatile unsigned short  mmrDMA10_Y_COUNT __attribute ((aligned(4), section("SYSMMR52")));
+volatile signed   short  mmrDMA10_Y_MODIFY __attribute ((aligned(4), section("SYSMMR52")));
+volatile unsigned long   mmrDMA10_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR52")));
+volatile unsigned long   mmrDMA10_CURR_ADDR __attribute ((aligned(4), section("SYSMMR52")));
+volatile unsigned short  mmrDMA10_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR52")));
+volatile unsigned short  mmrDMA10_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR52")));
+volatile unsigned short  mmrDMA10_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR52")));
+volatile unsigned short  mmrDMA10_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR53")));
+volatile unsigned long   mmrDMA11_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR54")));
+volatile unsigned long   mmrDMA11_START_ADDR __attribute ((aligned(4), section("SYSMMR54")));
+volatile unsigned short  mmrDMA11_CONFIG __attribute ((aligned(4), section("SYSMMR54")));
+volatile unsigned short  mmrDMA11_X_COUNT __attribute ((aligned(4), section("SYSMMR55")));
+volatile signed   short  mmrDMA11_X_MODIFY __attribute ((aligned(4), section("SYSMMR55")));
+volatile unsigned short  mmrDMA11_Y_COUNT __attribute ((aligned(4), section("SYSMMR55")));
+volatile signed   short  mmrDMA11_Y_MODIFY __attribute ((aligned(4), section("SYSMMR55")));
+volatile unsigned long   mmrDMA11_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR55")));
+volatile unsigned long   mmrDMA11_CURR_ADDR __attribute ((aligned(4), section("SYSMMR55")));
+volatile unsigned short  mmrDMA11_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR55")));
+volatile unsigned short  mmrDMA11_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR55")));
+volatile unsigned short  mmrDMA11_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR55")));
+volatile unsigned short  mmrDMA11_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR56")));
+volatile unsigned long   mmrMDMA_D0_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR57")));
+volatile unsigned long   mmrMDMA_D0_START_ADDR __attribute ((aligned(4), section("SYSMMR57")));
+volatile unsigned short  mmrMDMA_D0_CONFIG __attribute ((aligned(4), section("SYSMMR57")));
+volatile unsigned short  mmrMDMA_D0_X_COUNT __attribute ((aligned(4), section("SYSMMR58")));
+volatile signed   short  mmrMDMA_D0_X_MODIFY __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned short  mmrMDMA_D0_Y_COUNT __attribute ((aligned(4), section("SYSMMR58")));
+volatile signed   short  mmrMDMA_D0_Y_MODIFY __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned long   mmrMDMA_D0_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned long   mmrMDMA_D0_CURR_ADDR __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned short  mmrMDMA_D0_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned short  mmrMDMA_D0_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned short  mmrMDMA_D0_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned short  mmrMDMA_D0_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR59")));
+volatile unsigned long   mmrMDMA_S0_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR60")));
+volatile unsigned long   mmrMDMA_S0_START_ADDR __attribute ((aligned(4), section("SYSMMR60")));
+volatile unsigned short  mmrMDMA_S0_CONFIG __attribute ((aligned(4), section("SYSMMR60")));
+volatile unsigned short  mmrMDMA_S0_X_COUNT __attribute ((aligned(4), section("SYSMMR61")));
+volatile signed   short  mmrMDMA_S0_X_MODIFY __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned short  mmrMDMA_S0_Y_COUNT __attribute ((aligned(4), section("SYSMMR61")));
+volatile signed   short  mmrMDMA_S0_Y_MODIFY __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned long   mmrMDMA_S0_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned long   mmrMDMA_S0_CURR_ADDR __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned short  mmrMDMA_S0_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned short  mmrMDMA_S0_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned short  mmrMDMA_S0_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned short  mmrMDMA_S0_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR62")));
+volatile unsigned long   mmrMDMA_D1_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR63")));
+volatile unsigned long   mmrMDMA_D1_START_ADDR __attribute ((aligned(4), section("SYSMMR63")));
+volatile unsigned short  mmrMDMA_D1_CONFIG __attribute ((aligned(4), section("SYSMMR63")));
+volatile unsigned short  mmrMDMA_D1_X_COUNT __attribute ((aligned(4), section("SYSMMR64")));
+volatile signed   short  mmrMDMA_D1_X_MODIFY __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned short  mmrMDMA_D1_Y_COUNT __attribute ((aligned(4), section("SYSMMR64")));
+volatile signed   short  mmrMDMA_D1_Y_MODIFY __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned long   mmrMDMA_D1_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned long   mmrMDMA_D1_CURR_ADDR __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned short  mmrMDMA_D1_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned short  mmrMDMA_D1_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned short  mmrMDMA_D1_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned short  mmrMDMA_D1_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR65")));
+volatile unsigned long   mmrMDMA_S1_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR66")));
+volatile unsigned long   mmrMDMA_S1_START_ADDR __attribute ((aligned(4), section("SYSMMR66")));
+volatile unsigned short  mmrMDMA_S1_CONFIG __attribute ((aligned(4), section("SYSMMR66")));
+volatile unsigned short  mmrMDMA_S1_X_COUNT __attribute ((aligned(4), section("SYSMMR67")));
+volatile signed   short  mmrMDMA_S1_X_MODIFY __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned short  mmrMDMA_S1_Y_COUNT __attribute ((aligned(4), section("SYSMMR67")));
+volatile signed   short  mmrMDMA_S1_Y_MODIFY __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned long   mmrMDMA_S1_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned long   mmrMDMA_S1_CURR_ADDR __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned short  mmrMDMA_S1_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned short  mmrMDMA_S1_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned short  mmrMDMA_S1_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned short  mmrMDMA_S1_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR68")));
+volatile unsigned short  mmrPPI_CONTROL __attribute ((aligned(4), section("SYSMMR69")));
+volatile unsigned short  mmrPPI_STATUS __attribute ((aligned(4), section("SYSMMR69")));
+volatile unsigned short  mmrPPI_COUNT __attribute ((aligned(4), section("SYSMMR69")));
+volatile unsigned short  mmrPPI_DELAY __attribute ((aligned(4), section("SYSMMR69")));
+volatile unsigned short  mmrPPI_FRAME __attribute ((aligned(4), section("SYSMMR69")));
+volatile unsigned short  mmrTWI_CLKDIV __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_CONTROL __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_SLAVE_CTL __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_SLAVE_STAT __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_SLAVE_ADDR __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_MASTER_CTL __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_MASTER_STAT __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_MASTER_ADDR __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_INT_STAT __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_INT_MASK __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_FIFO_CTL __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_FIFO_STAT __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_XMT_DATA8 __attribute ((aligned(4), section("SYSMMR71")));
+volatile unsigned short  mmrTWI_XMT_DATA16 __attribute ((aligned(4), section("SYSMMR71")));
+volatile unsigned short  mmrTWI_RCV_DATA8 __attribute ((aligned(4), section("SYSMMR71")));
+volatile unsigned short  mmrTWI_RCV_DATA16 __attribute ((aligned(4), section("SYSMMR71")));
+volatile unsigned short  mmrPORTGIO __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_CLEAR __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_SET __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_TOGGLE __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKA __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKA_CLEAR __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKA_SET __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKA_TOGGLE __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKB __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKB_CLEAR __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKB_SET __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKB_TOGGLE __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_DIR __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_POLAR __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_EDGE __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_BOTH __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_INEN __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTHIO __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_CLEAR __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_SET __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_TOGGLE __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_MASKA __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_MASKA_CLEAR __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_MASKA_SET __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_MASKA_TOGGLE __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_MASKB __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_MASKB_CLEAR __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_MASKB_SET __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_MASKB_TOGGLE __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_DIR __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_POLAR __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_EDGE __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_BOTH __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrPORTHIO_INEN __attribute ((aligned(4), section("SYSMMR73")));
+volatile unsigned short  mmrUART1_THR __attribute ((aligned(4), section("SYSMMR74")));
+volatile unsigned short  mmrUART1_IER __attribute ((aligned(4), section("SYSMMR74")));
+volatile unsigned short  mmrUART1_IIR __attribute ((aligned(4), section("SYSMMR74")));
+volatile unsigned short  mmrUART1_LCR __attribute ((aligned(4), section("SYSMMR74")));
+volatile unsigned short  mmrUART1_MCR __attribute ((aligned(4), section("SYSMMR74")));
+volatile unsigned short  mmrUART1_LSR __attribute ((aligned(4), section("SYSMMR74")));
+volatile unsigned short  mmrUART1_SCR __attribute ((aligned(4), section("SYSMMR75")));
+volatile unsigned short  mmrUART1_GCTL __attribute ((aligned(4), section("SYSMMR76")));
+volatile unsigned long   mmrEMAC_OPMODE __attribute ((aligned(4), section("SYSMMR77")));
+volatile unsigned long   mmrEMAC_ADDRLO __attribute ((aligned(4), section("SYSMMR77")));
+volatile unsigned long   mmrEMAC_ADDRHI __attribute ((aligned(4), section("SYSMMR77")));
+volatile unsigned long   mmrEMAC_HASHLO __attribute ((aligned(4), section("SYSMMR77")));
+volatile unsigned long   mmrEMAC_HASHHI __attribute ((aligned(4), section("SYSMMR77")));
+volatile unsigned long   mmrEMAC_STAADD __attribute ((aligned(4), section("SYSMMR77")));
+volatile unsigned long   mmrEMAC_STADAT __attribute ((aligned(4), section("SYSMMR77")));
+volatile unsigned long   mmrEMAC_FLC __attribute ((aligned(4), section("SYSMMR77")));
+volatile unsigned long   mmrEMAC_VLAN1 __attribute ((aligned(4), section("SYSMMR77")));
+volatile unsigned long   mmrEMAC_VLAN2 __attribute ((aligned(4), section("SYSMMR77")));
+volatile unsigned long   mmrEMAC_WKUP_CTL __attribute ((aligned(4), section("SYSMMR78")));
+volatile unsigned long   mmrEMAC_WKUP_FFMSK0 __attribute ((aligned(4), section("SYSMMR78")));
+volatile unsigned long   mmrEMAC_WKUP_FFMSK1 __attribute ((aligned(4), section("SYSMMR78")));
+volatile unsigned long   mmrEMAC_WKUP_FFMSK2 __attribute ((aligned(4), section("SYSMMR78")));
+volatile unsigned long   mmrEMAC_WKUP_FFMSK3 __attribute ((aligned(4), section("SYSMMR78")));
+volatile unsigned long   mmrEMAC_WKUP_FFCMD __attribute ((aligned(4), section("SYSMMR78")));
+volatile unsigned long   mmrEMAC_WKUP_FFOFF __attribute ((aligned(4), section("SYSMMR78")));
+volatile unsigned long   mmrEMAC_WKUP_FFCRC0 __attribute ((aligned(4), section("SYSMMR78")));
+volatile unsigned long   mmrEMAC_WKUP_FFCRC1 __attribute ((aligned(4), section("SYSMMR78")));
+volatile unsigned long   mmrEMAC_SYSCTL __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_SYSTAT __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_RX_STAT __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_RX_STKY __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_RX_IRQE __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_TX_STAT __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_TX_STKY __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_TX_IRQE __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_MMC_CTL __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_MMC_RIRQS __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_MMC_RIRQE __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_MMC_TIRQS __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned long   mmrEMAC_MMC_TIRQE __attribute ((aligned(4), section("SYSMMR79")));
+volatile unsigned short  mmrEMAC_PTP_CTL __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned short  mmrEMAC_PTP_IE __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned short  mmrEMAC_PTP_ISTAT __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_FOFF __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_FV1 __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_FV2 __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_FV3 __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_ADDEND __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_ACCR __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_OFFSET __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_TIMELO __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_TIMEHI __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_RXSNAPLO __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_RXSNAPHI __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_TXSNAPLO __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_TXSNAPHI __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_ALARMLO __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_ALARMHI __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned short  mmrEMAC_PTP_ID_OFF __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_ID_SNAP __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_PPS_STARTLOP __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_PPS_STARTHIP __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_PTP_PPS_PERIOD __attribute ((aligned(4), section("SYSMMR80")));
+volatile unsigned long   mmrEMAC_RXC_OK __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_FCS __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_ALIGN __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_OCTET __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_DMAOVF __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_UNICST __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_MULTI __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_BROAD __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_LNERRI __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_LNERRO __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_LONG __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_MACCTL __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_OPCODE __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_PAUSE __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_ALLFRM __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_ALLOCT __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_TYPED __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_SHORT __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_EQ64 __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_LT128 __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_LT256 __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_LT512 __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_LT1024 __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_RXC_GE1024 __attribute ((aligned(4), section("SYSMMR81")));
+volatile unsigned long   mmrEMAC_TXC_OK __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_1COL __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_GT1COL __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_OCTET __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_DEFER __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_LATECL __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_XS_COL __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_DMAUND __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_CRSERR __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_UNICST __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_MULTI __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_BROAD __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_XS_DFR __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_MACCTL __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_ALLFRM __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_ALLOCT __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_EQ64 __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_LT128 __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_LT256 __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_LT512 __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_LT1024 __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_GE1024 __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned long   mmrEMAC_TXC_ABORT __attribute ((aligned(4), section("SYSMMR82")));
+volatile unsigned short  mmrPORTF_FER __attribute ((aligned(4), section("SYSMMR83")));
+volatile unsigned short  mmrPORTG_FER __attribute ((aligned(4), section("SYSMMR83")));
+volatile unsigned short  mmrPORTH_FER __attribute ((aligned(4), section("SYSMMR83")));
+volatile unsigned short  mmrPORTF_MUX __attribute ((aligned(4), section("SYSMMR84")));
+volatile unsigned short  mmrPORTG_MUX __attribute ((aligned(4), section("SYSMMR84")));
+volatile unsigned short  mmrPORTH_MUX __attribute ((aligned(4), section("SYSMMR84")));
+volatile unsigned short  mmrPORTF_DRIVE __attribute ((aligned(4), section("SYSMMR85")));
+volatile unsigned short  mmrPORTG_DRIVE __attribute ((aligned(4), section("SYSMMR85")));
+volatile unsigned short  mmrPORTH_DRIVE __attribute ((aligned(4), section("SYSMMR85")));
+volatile unsigned short  mmrPORTF_HYSTERESIS __attribute ((aligned(4), section("SYSMMR86")));
+volatile unsigned short  mmrPORTG_HYSTERESIS __attribute ((aligned(4), section("SYSMMR86")));
+volatile unsigned short  mmrPORTH_HYSTERESIS __attribute ((aligned(4), section("SYSMMR86")));
+volatile unsigned short  mmrNONGPIO_DRIVE __attribute ((aligned(4), section("SYSMMR87")));
+volatile unsigned short  mmrNONGPIO_HYSTERESIS __attribute ((aligned(4), section("SYSMMR88")));
+volatile unsigned short  mmrHMDMA0_CONTROL __attribute ((aligned(4), section("SYSMMR89")));
+volatile unsigned short  mmrHMDMA0_ECINIT __attribute ((aligned(4), section("SYSMMR89")));
+volatile unsigned short  mmrHMDMA0_BCINIT __attribute ((aligned(4), section("SYSMMR89")));
+volatile unsigned short  mmrHMDMA0_ECURGENT __attribute ((aligned(4), section("SYSMMR89")));
+volatile unsigned short  mmrHMDMA0_ECOVERFLOW __attribute ((aligned(4), section("SYSMMR89")));
+volatile unsigned short  mmrHMDMA0_ECOUNT __attribute ((aligned(4), section("SYSMMR89")));
+volatile unsigned short  mmrHMDMA0_BCOUNT __attribute ((aligned(4), section("SYSMMR89")));
+volatile unsigned short  mmrHMDMA1_CONTROL __attribute ((aligned(4), section("SYSMMR90")));
+volatile unsigned short  mmrHMDMA1_ECINIT __attribute ((aligned(4), section("SYSMMR90")));
+volatile unsigned short  mmrHMDMA1_BCINIT __attribute ((aligned(4), section("SYSMMR90")));
+volatile unsigned short  mmrHMDMA1_ECURGENT __attribute ((aligned(4), section("SYSMMR90")));
+volatile unsigned short  mmrHMDMA1_ECOVERFLOW __attribute ((aligned(4), section("SYSMMR90")));
+volatile unsigned short  mmrHMDMA1_ECOUNT __attribute ((aligned(4), section("SYSMMR90")));
+volatile unsigned short  mmrHMDMA1_BCOUNT __attribute ((aligned(4), section("SYSMMR90")));
+volatile unsigned short  mmrSPI1_CTL __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_FLG __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_STAT __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_TDBR __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_RDBR __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_BAUD __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_SHADOW __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrCNT_CONFIG __attribute ((aligned(4), section("SYSMMR92")));
+volatile unsigned short  mmrCNT_IMASK __attribute ((aligned(4), section("SYSMMR92")));
+volatile unsigned short  mmrCNT_STATUS __attribute ((aligned(4), section("SYSMMR92")));
+volatile unsigned short  mmrCNT_COMMAND __attribute ((aligned(4), section("SYSMMR92")));
+volatile unsigned short  mmrCNT_DEBOUNCE __attribute ((aligned(4), section("SYSMMR92")));
+volatile unsigned long  mmrCNT_COUNTER __attribute ((aligned(4), section("SYSMMR92")));
+volatile unsigned long  mmrCNT_MAX __attribute ((aligned(4), section("SYSMMR92")));
+volatile unsigned long  mmrCNT_MIN __attribute ((aligned(4), section("SYSMMR92")));
+volatile unsigned long  mmrSECURE_SYSSWT __attribute ((aligned(4), section("SYSMMR93")));
+volatile unsigned short  mmrSECURE_CONTROL __attribute ((aligned(4), section("SYSMMR93")));
+volatile unsigned short  mmrSECURE_STATUS __attribute ((aligned(4), section("SYSMMR93")));
+volatile unsigned long  mmrOTP_DATA0 __attribute ((aligned(4), section("SYSMMR94")));
+volatile unsigned long  mmrOTP_DATA1 __attribute ((aligned(4), section("SYSMMR94")));
+volatile unsigned long  mmrOTP_DATA2 __attribute ((aligned(4), section("SYSMMR94")));
+volatile unsigned long  mmrOTP_DATA3 __attribute ((aligned(4), section("SYSMMR94")));
+volatile unsigned short  mmrPWM_CTRL __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_STAT __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_TM __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_DT __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_GATE __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_CHA __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_CHB __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_CHC __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_SEG __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_SYNCWT __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_CHAL __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_CHBL __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_CHCL __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_LSI __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrPWM_STAT2 __attribute ((aligned(4), section("SYSMMR95")));
+volatile unsigned short  mmrRSI_PWR_CONTROL __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned short  mmrRSI_CLK_CONTROL __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned long   mmrRSI_ARGUMENT __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned short  mmrRSI_COMMAND __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned short  mmrRSI_RESP_CMD __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned long   mmrRSI_RESPONSE0 __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned long   mmrRSI_RESPONSE1 __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned long   mmrRSI_RESPONSE2 __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned long   mmrRSI_RESPONSE3 __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned long   mmrRSI_DATA_TIMER __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned short  mmrRSI_DATA_LGTH __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned short  mmrRSI_DATA_CONTROL __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned short  mmrRSI_DATA_CNT __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned long   mmrRSI_STATUS __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned short  mmrRSI_STATUSCL __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned long   mmrRSI_MASK0 __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned long   mmrRSI_MASK1 __attribute ((aligned(4), section("SYSMMR96")));
+volatile unsigned short  mmrRSI_FIFO_CNT __attribute ((aligned(4), section("SYSMMR97")));
+volatile unsigned short  mmrRSI_CEATA_CONTROL __attribute ((aligned(4), section("SYSMMR97")));
+volatile unsigned long   mmrRSI_FIFO __attribute ((aligned(4), section("SYSMMR98")));
+volatile unsigned short  mmrRSI_ESTAT __attribute ((aligned(4), section("SYSMMR99")));
+volatile unsigned short  mmrRSI_EMASK __attribute ((aligned(4), section("SYSMMR99")));
+volatile unsigned short  mmrRSI_CONFIG __attribute ((aligned(4), section("SYSMMR99")));
+volatile unsigned short  mmrRSI_RD_WAIT_EN __attribute ((aligned(4), section("SYSMMR99")));
+volatile unsigned short  mmrRSI_PID0 __attribute ((aligned(4), section("SYSMMR99")));
+volatile unsigned short  mmrRSI_PID1 __attribute ((aligned(4), section("SYSMMR99")));
+volatile unsigned short  mmrRSI_PID2 __attribute ((aligned(4), section("SYSMMR99")));
+volatile unsigned short  mmrRSI_PID3 __attribute ((aligned(4), section("SYSMMR99")));
+
diff --git a/util-genmmrsyms/chip_mmr_bf533.c b/util-genmmrsyms/chip_mmr_bf533.c
new file mode 100644 (file)
index 0000000..75c369a
--- /dev/null
@@ -0,0 +1,413 @@
+/*
+ * ADSP-BF533の System MMR 定義。アドレスの指定は .ldファイルとの組み合わせで行う。
+ * .ldファイルのサンプルは、 config/blackfin/bf533cbを参照。
+ *
+ * アドレスが正しく割り当てられているかは、次の方法で検証した.
+ * (Makefileの$(OBJCOPY) -R .sysmmr -R .coremmr jsp をコメントアウトすること)
+ *
+$ readelf -s  -W jsp | grep mmr | grep -v DUMMY | grep -v blackfin | sort -k 2 | awk '/_mmr/{print $8, $2}' -  | sed 's/_mmr//p' | uniq > regelf.txt
+$ cat ../jsp/config/blackfin/def_lpblackfin.h ../jsp/config/blackfin/defbf532.h | grep '0xFF[CE]0'  | grep "#define" | sed 's/_MA /_MAP /' - | awk '{print $2,$3}' - | sort -k 2 | sed 's/0x//' - > regdef.txt
+$ diff -i -w regelf.txt regdef.txt
+24a25,27
+> RTC_PREN FFC00314
+> UART_DLL FFC00400
+> UART_RBR FFC00400
+25a29
+> UART_DLH FFC00404
+123a128
+> DMA_TCPER FFC00B0C
+124a130
+> DMA_TCCNT FFC00B10
+288a295
+> DCPLB_FAULT_STATUS FFE00008
+326a334
+> CODE_FAULT_STATUS FFE01008
+327a336
+> CODE_FAULT_ADDR FFE0100C
+
+
+ *
+ * つまり、いくつかのレジスタの宣言がELF側から抜けていることになる。ここで、
+ * それぞれのレジスタは別のレジスタのエイリアスであることに注目する。
+ * RTC_PREN -> RTC_FAST
+ * UART_DLL -> UART_THR
+ * UART_RBR -> UART_THR
+ * UART_DLH -> UART_IER
+ * DMA_TCPER -> DMA_TC_PER
+ * DMA_TCCNT -> DMA_TC_CNT
+ *
+ * したがって、上の結果は問題ないと言える。
+ *
+ */
+
+
+volatile unsigned short mmrPLL_CTL  __attribute__ ((aligned(4), section("PWRMGMT")));
+volatile unsigned short mmrPLL_DIV  __attribute__ ((aligned(4), section("PWRMGMT")));
+volatile unsigned short mmrVR_CTL   __attribute__ ((aligned(4), section("PWRMGMT")));
+volatile unsigned short mmrPLL_STAT     __attribute__ ((aligned(4), section("PWRMGMT")));
+volatile unsigned short mmrPLL_LOCKCNT __attribute__ ((aligned(4), section("PWRMGMT")));
+volatile unsigned short mmrCHIPID   __attribute__ ((aligned(4), section("PWRMGMT")));
+
+volatile unsigned short mmrSWRST        __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned short mmrSYSCR        __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long  mmrSIC_RVECT        __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long  mmrSIC_IMASK        __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long  mmrSIC_IAR0         __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long  mmrSIC_IAR1         __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long  mmrSIC_IAR2         __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long  mmrSIC_IARDUMMY __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long  mmrSIC_ISR      __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long  mmrSIC_IWR      __attribute__ ((aligned(4), section("SYSRST")));
+
+volatile unsigned short mmrWDOG_CTL  __attribute__ ((aligned(4), section("WDOG")));
+volatile unsigned long  mmrWDOG_CNT  __attribute__ ((aligned(4), section("WDOG")));
+volatile unsigned long  mmrWDOG_STAT __attribute__ ((aligned(4), section("WDOG")));
+
+volatile unsigned long  mmrRTC_STAT  __attribute__ ((aligned(4), section("RTC")));
+volatile unsigned short mmrRTC_ICTL  __attribute__ ((aligned(4), section("RTC")));
+volatile unsigned short mmrRTC_ISTAT __attribute__ ((aligned(4), section("RTC")));
+volatile unsigned short mmrRTC_SWCNT __attribute__ ((aligned(4), section("RTC")));
+volatile unsigned long  mmrRTC_ALARM __attribute__ ((aligned(4), section("RTC")));
+volatile unsigned short mmrRTC_FAST  __attribute__ ((aligned(4), section("RTC")));
+
+volatile unsigned short mmrUART_THR    __attribute__ ((aligned(4), section("UART")));
+volatile unsigned short mmrUART_IER    __attribute__ ((aligned(4), section("UART")));
+volatile unsigned short mmrUART_IIR    __attribute__ ((aligned(4), section("UART")));
+volatile unsigned short mmrUART_LCR    __attribute__ ((aligned(4), section("UART")));
+volatile unsigned short mmrUART_MCR    __attribute__ ((aligned(4), section("UART")));
+volatile unsigned short mmrUART_LSR    __attribute__ ((aligned(4), section("UART")));
+volatile unsigned short mmrUART_MSR __attribute__ ((aligned(4), section("UART")));
+volatile unsigned short mmrUART_SCR    __attribute__ ((aligned(4), section("UART")));
+volatile unsigned short mmrUART_DUMMY0 __attribute__ ((aligned(4), section("UART")));
+volatile unsigned short mmrUART_GCTL   __attribute__ ((aligned(4), section("UART")));
+
+volatile unsigned short mmrSPI_CTL    __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short mmrSPI_FLG    __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short mmrSPI_STAT   __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short mmrSPI_TDBR   __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short mmrSPI_RDBR   __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short mmrSPI_BAUD   __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short mmrSPI_SHADOW __attribute__ ((aligned(4), section("SPI")));
+
+volatile    unsigned    short   mmrTIMER0_CONFIG    __attribute__ ((aligned(4), section("TIMER")));
+volatile    unsigned    long    mmrTIMER0_COUNTER   __attribute__ ((aligned(4), section("TIMER")));
+volatile    unsigned    long    mmrTIMER0_PERIOD    __attribute__ ((aligned(4), section("TIMER")));
+volatile    unsigned    long    mmrTIMER0_WIDTH __attribute__ ((aligned(4), section("TIMER")));
+
+volatile    unsigned    short   mmrTIMER1_CONFIG    __attribute__ ((aligned(4), section("TIMER")));
+volatile    unsigned    long    mmrTIMER1_COUNTER   __attribute__ ((aligned(4), section("TIMER")));
+volatile    unsigned    long    mmrTIMER1_PERIOD    __attribute__ ((aligned(4), section("TIMER")));
+volatile    unsigned    long    mmrTIMER1_WIDTH __attribute__ ((aligned(4), section("TIMER")));
+
+volatile    unsigned    short   mmrTIMER2_CONFIG    __attribute__ ((aligned(4), section("TIMER")));
+volatile    unsigned    long    mmrTIMER2_COUNTER   __attribute__ ((aligned(4), section("TIMER")));
+volatile    unsigned    long    mmrTIMER2_PERIOD    __attribute__ ((aligned(4), section("TIMER")));
+volatile    unsigned    long    mmrTIMER2_WIDTH __attribute__ ((aligned(4), section("TIMER")));
+
+volatile    unsigned    short   mmrTIMER_ENABLE __attribute__ ((aligned(4), section("TMRCTL")));
+volatile    unsigned    short   mmrTIMER_DISABLE    __attribute__ ((aligned(4), section("TMRCTL")));
+volatile    unsigned    short   mmrTIMER_STATUS __attribute__ ((aligned(4), section("TMRCTL")));
+
+
+volatile    unsigned    short   mmrFIO_FLAG_D       __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_FLAG_C       __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_FLAG_S       __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_FLAG_T       __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_MASKA_D  __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_MASKA_C  __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_MASKA_S  __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_MASKA_T  __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_MASKB_D  __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_MASKB_C  __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_MASKB_S  __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_MASKB_T  __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_DIR      __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_POLAR        __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_EDGE     __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_BOTH     __attribute__ ((aligned(4), section("FLAG")));
+volatile    unsigned    short   mmrFIO_INEN     __attribute__ ((aligned(4), section("FLAG")));
+
+
+
+volatile    unsigned    short   mmrSPORT0_TCR1  __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_TCR2  __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_TCLKDIV   __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_TFSDIV    __attribute__ ((aligned(4), section("SPORT0")));
+volatile    long                mmrSPORT0_TX        __attribute__ ((aligned(4), section("SPORT0")));
+volatile    long                mmrSPORT0_DUMMY0    __attribute__ ((aligned(4), section("SPORT0")));
+volatile    long                mmrSPORT0_RX        __attribute__ ((aligned(4), section("SPORT0")));
+volatile    long                mmrSPORT0_DUMMY1    __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_RCR1  __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_RCR2  __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_RCLKDIV   __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_RFSDIV    __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_STAT  __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_CHNL  __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_MCMC1 __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    short   mmrSPORT0_MCMC2 __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    long    mmrSPORT0_MTCS0 __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    long    mmrSPORT0_MTCS1 __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    long    mmrSPORT0_MTCS2 __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    long    mmrSPORT0_MTCS3 __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    long    mmrSPORT0_MRCS0 __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    long    mmrSPORT0_MRCS1 __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    long    mmrSPORT0_MRCS2 __attribute__ ((aligned(4), section("SPORT0")));
+volatile    unsigned    long    mmrSPORT0_MRCS3 __attribute__ ((aligned(4), section("SPORT0")));
+
+
+volatile    unsigned    short   mmrSPORT1_TCR1  __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_TCR2  __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_TCLKDIV   __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_TFSDIV    __attribute__ ((aligned(4), section("SPORT1")));
+volatile    long                mmrSPORT1_TX        __attribute__ ((aligned(4), section("SPORT1")));
+volatile    long                mmrSPORT1_DUMMY0    __attribute__ ((aligned(4), section("SPORT1")));
+volatile    long                mmrSPORT1_RX        __attribute__ ((aligned(4), section("SPORT1")));
+volatile    long                mmrSPORT1_DUMMY1    __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_RCR1  __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_RCR2  __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_RCLKDIV   __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_RFSDIV    __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_STAT  __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_CHNL  __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_MCMC1 __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    short   mmrSPORT1_MCMC2 __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    long    mmrSPORT1_MTCS0 __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    long    mmrSPORT1_MTCS1 __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    long    mmrSPORT1_MTCS2 __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    long    mmrSPORT1_MTCS3 __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    long    mmrSPORT1_MRCS0 __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    long    mmrSPORT1_MRCS1 __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    long    mmrSPORT1_MRCS2 __attribute__ ((aligned(4), section("SPORT1")));
+volatile    unsigned    long    mmrSPORT1_MRCS3 __attribute__ ((aligned(4), section("SPORT1")));
+
+
+
+volatile    unsigned    short   mmrEBIU_AMGCTL  __attribute__ ((aligned(4), section("EBIU")));
+volatile    unsigned    long    mmrEBIU_AMBCTL0 __attribute__ ((aligned(4), section("EBIU")));
+volatile    unsigned    long    mmrEBIU_AMBCTL1 __attribute__ ((aligned(4), section("EBIU")));
+volatile    unsigned    long    mmrEBIU_DUMMY0  __attribute__ ((aligned(4), section("EBIU")));
+
+
+volatile    unsigned    long    mmrEBIU_SDGCTL  __attribute__ ((aligned(4), section("EBIU")));
+volatile    unsigned    short   mmrEBIU_SDBCTL  __attribute__ ((aligned(4), section("EBIU")));
+volatile    unsigned    short   mmrEBIU_SDRRC   __attribute__ ((aligned(4), section("EBIU")));
+volatile    unsigned    short   mmrEBIU_SDSTAT  __attribute__ ((aligned(4), section("EBIU")));
+
+
+
+volatile    unsigned    short   mmrDMA_TC_DUMMY0    __attribute__ ((aligned(4), section("DMATC")));
+volatile    unsigned    short   mmrDMA_TC_DUMMY1    __attribute__ ((aligned(4), section("DMATC")));
+volatile    unsigned    short   mmrDMA_TC_DUMMY3    __attribute__ ((aligned(4), section("DMATC")));
+volatile    unsigned    short   mmrDMA_TC_PER   __attribute__ ((aligned(4), section("DMATC")));
+volatile    unsigned    short   mmrDMA_TC_CNT   __attribute__ ((aligned(4), section("DMATC")));
+
+
+volatile    void *  volatile    mmrDMA0_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA0_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA0_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA0_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA0_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA0_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA1_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA1_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA1_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA1_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA1_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA1_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA2_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA2_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA2_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA2_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA2_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA2_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA3_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA3_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA3_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA3_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA3_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA3_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA4_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA4_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA4_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA4_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA4_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA4_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA5_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA5_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA5_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA5_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA5_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA5_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA6_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA6_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA6_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA6_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA6_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA6_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA7_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA7_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA7_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA7_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA7_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA7_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrMDMA_D0_NEXT_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D0_START_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_CONFIG           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_DUMMY0           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_X_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_D0_X_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_Y_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_D0_Y_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D0_CURR_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D0_CURR_ADDR        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_IRQ_STATUS       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_PERIPHERAL_MAP   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_CURR_X_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_DUMMY1           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_CURR_Y_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_DUMMY2           __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrMDMA_S0_NEXT_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S0_START_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_CONFIG           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_DUMMY0           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_X_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_S0_X_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_Y_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_S0_Y_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S0_CURR_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S0_CURR_ADDR        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_IRQ_STATUS       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_PERIPHERAL_MAP   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_CURR_X_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_DUMMY1           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_CURR_Y_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_DUMMY2           __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrMDMA_D1_NEXT_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D1_START_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_CONFIG           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_DUMMY0           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_X_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_D1_X_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_Y_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_D1_Y_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D1_CURR_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D1_CURR_ADDR        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_IRQ_STATUS       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_PERIPHERAL_MAP   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_CURR_X_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_DUMMY1           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_CURR_Y_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_DUMMY2           __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrMDMA_S1_NEXT_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S1_START_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_CONFIG           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_DUMMY0           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_X_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_S1_X_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_Y_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_S1_Y_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S1_CURR_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S1_CURR_ADDR        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_IRQ_STATUS       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_PERIPHERAL_MAP   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_CURR_X_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_DUMMY1           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_CURR_Y_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_DUMMY2           __attribute__ ((aligned(4), section("DMA")));
+
+volatile    unsigned    short   mmrPPI_CONTROL  __attribute__ ((aligned(4), section("PPI")));
+volatile    unsigned    short   mmrPPI_STATUS   __attribute__ ((aligned(4), section("PPI")));
+volatile    unsigned    short   mmrPPI_COUNT    __attribute__ ((aligned(4), section("PPI")));
+volatile    unsigned    short   mmrPPI_DELAY    __attribute__ ((aligned(4), section("PPI")));
+volatile    unsigned    short   mmrPPI_FRAME    __attribute__ ((aligned(4), section("PPI")));
diff --git a/util-genmmrsyms/chip_mmr_bf537.c b/util-genmmrsyms/chip_mmr_bf537.c
new file mode 100644 (file)
index 0000000..74d7146
--- /dev/null
@@ -0,0 +1,1117 @@
+/*
+ * ADSP-BF537の System MMR 定義。アドレスの指定は .ldファイルとの組み合わせで行う。
+ * .ldファイルのサンプルは、 config/blackfin/ezkit_bf537を参照。
+ *
+ * アドレスが正しく割り当てられているかは、次の方法で検証した.
+ * (Makefileの$(OBJCOPY) -R .sysmmr -R .coremmr jsp をコメントアウトすること)
+ *
+$ readelf -s  -W jsp | grep mmr | grep -v DUMMY | grep -v blackfin | sort -k 2 | awk '/_mmr/{print $8, $2}' -  | sed 's/_mmr//p' | uniq > regelf.txt
+$ cat ../jsp/config/blackfin/def_lpblackfin.h ../jsp/config/blackfin/defbf537.h  ../jsp/config/blackfin/defbf534.h | grep '0xFF[CE]0'  | grep "#define" | sed 's/_MA /_MAP /' - | awk '{print $2,$3}' - | sort -k 2 | sed 's/0x//' - > regdef.txt
+$ diff -i -w regelf.txt regdef.txt
+
+24a25,27
+> RTC_PREN FFC00314
+> UART0_DLL FFC00400
+> UART0_RBR FFC00400
+25a29
+> UART0_DLH FFC00404
+143a148
+> DMA_TCPER FFC00B0C
+144a150
+> DMA_TCCNT FFC00B10
+408a415,416
+> UART1_DLL FFC02000
+> UART1_RBR FFC02000
+409a418
+> UART1_DLH FFC02004
+879a889
+> DCPLB_FAULT_STATUS FFE00008
+917a928
+> CODE_FAULT_STATUS FFE01008
+918a930
+> CODE_FAULT_ADDR FFE0100C
+ *
+ * つまり、いくつかのレジスタの宣言がELF側から抜けていることになる。ここで、
+ * それぞれのレジスタは別のレジスタのエイリアスであることに注目する。
+ * RTC_PREN -> RTC_FAST
+ * UARTx_DLL -> UARTx_THR
+ * UARTx_RBR -> UARTx_THR
+ * UARTx_DLH -> UARTx_IER
+ * DMA_TCPER -> DMA_TC_PER
+ * DMA_TCCNT -> DMA_TC_CNT
+ *
+ * したがって、上の結果は問題ないと言える。
+ *
+ */
+
+
+volatile unsigned short mmrPLL_CTL  __attribute__ ((aligned(4), section("PWRMGMT")));
+volatile unsigned short mmrPLL_DIV  __attribute__ ((aligned(4), section("PWRMGMT")));
+volatile unsigned short mmrVR_CTL   __attribute__ ((aligned(4), section("PWRMGMT")));
+volatile unsigned short mmrPLL_STAT     __attribute__ ((aligned(4), section("PWRMGMT")));
+volatile unsigned short mmrPLL_LOCKCNT  __attribute__ ((aligned(4), section("PWRMGMT")));
+
+
+
+volatile unsigned short  mmrSWRST           __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned short  mmrSYSCR           __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long   mmrSIC_RVECT       __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long   mmrSIC_IMASK       __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long   mmrSIC_IAR0        __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long   mmrSIC_IAR1        __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long   mmrSIC_IAR2        __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long   mmrSIC_IAR3        __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long   mmrSIC_ISR         __attribute__ ((aligned(4), section("SYSRST")));
+volatile unsigned long   mmrSIC_IWR         __attribute__ ((aligned(4), section("SYSRST")));
+
+
+
+volatile unsigned short  mmrWDOG_CTL        __attribute__ ((aligned(4), section("WDOG")));
+volatile unsigned long   mmrWDOG_CNT        __attribute__ ((aligned(4), section("WDOG")));
+volatile unsigned long   mmrWDOG_STAT       __attribute__ ((aligned(4), section("WDOG")));
+
+
+
+volatile unsigned long   mmrRTC_STAT        __attribute__ ((aligned(4), section("RTC")));
+volatile unsigned short  mmrRTC_ICTL        __attribute__ ((aligned(4), section("RTC")));
+volatile unsigned short  mmrRTC_ISTAT       __attribute__ ((aligned(4), section("RTC")));
+volatile unsigned short  mmrRTC_SWCNT       __attribute__ ((aligned(4), section("RTC")));
+volatile unsigned long   mmrRTC_ALARM       __attribute__ ((aligned(4), section("RTC")));
+volatile unsigned short  mmrRTC_FAST        __attribute__ ((aligned(4), section("RTC")));
+
+
+
+volatile unsigned short  mmrUART0_THR       __attribute__ ((aligned(4), section("UART0")));
+volatile unsigned short  mmrUART0_IER       __attribute__ ((aligned(4), section("UART0")));
+volatile unsigned short  mmrUART0_IIR       __attribute__ ((aligned(4), section("UART0")));
+volatile unsigned short  mmrUART0_LCR       __attribute__ ((aligned(4), section("UART0")));
+volatile unsigned short  mmrUART0_MCR       __attribute__ ((aligned(4), section("UART0")));
+volatile unsigned short  mmrUART0_LSR       __attribute__ ((aligned(4), section("UART0")));
+volatile unsigned short  mmrUART0_MSR       __attribute__ ((aligned(4), section("UART0")));
+volatile unsigned short  mmrUART0_SCR       __attribute__ ((aligned(4), section("UART0")));
+volatile unsigned short  mmrUART0_DUMMY0    __attribute__ ((aligned(4), section("UART0")));
+volatile unsigned short  mmrUART0_GCTL      __attribute__ ((aligned(4), section("UART0")));
+
+
+
+volatile unsigned short  mmrSPI_CTL         __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short  mmrSPI_FLG         __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short  mmrSPI_STAT        __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short  mmrSPI_TDBR        __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short  mmrSPI_RDBR        __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short  mmrSPI_BAUD        __attribute__ ((aligned(4), section("SPI")));
+volatile unsigned short  mmrSPI_SHADOW      __attribute__ ((aligned(4), section("SPI")));
+
+
+
+volatile unsigned short  mmrTIMER0_CONFIG   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER0_COUNTER  __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER0_PERIOD   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER0_WIDTH    __attribute__ ((aligned(4), section("TIMER")));
+
+volatile unsigned short  mmrTIMER1_CONFIG   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER1_COUNTER  __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER1_PERIOD   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER1_WIDTH    __attribute__ ((aligned(4), section("TIMER")));
+
+volatile unsigned short  mmrTIMER2_CONFIG   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER2_COUNTER  __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER2_PERIOD   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER2_WIDTH    __attribute__ ((aligned(4), section("TIMER")));
+
+volatile unsigned short  mmrTIMER3_CONFIG   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER3_COUNTER  __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER3_PERIOD   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER3_WIDTH    __attribute__ ((aligned(4), section("TIMER")));
+
+volatile unsigned short  mmrTIMER4_CONFIG   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER4_COUNTER  __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER4_PERIOD   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER4_WIDTH    __attribute__ ((aligned(4), section("TIMER")));
+
+volatile unsigned short  mmrTIMER5_CONFIG   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER5_COUNTER  __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER5_PERIOD   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER5_WIDTH    __attribute__ ((aligned(4), section("TIMER")));
+
+volatile unsigned short  mmrTIMER6_CONFIG   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER6_COUNTER  __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER6_PERIOD   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER6_WIDTH    __attribute__ ((aligned(4), section("TIMER")));
+
+volatile unsigned short  mmrTIMER7_CONFIG   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER7_COUNTER  __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER7_PERIOD   __attribute__ ((aligned(4), section("TIMER")));
+volatile unsigned long   mmrTIMER7_WIDTH    __attribute__ ((aligned(4), section("TIMER")));
+
+volatile unsigned short  mmrTIMER_ENABLE    __attribute__ ((aligned(4), section("TMRCTL")));
+volatile unsigned short  mmrTIMER_DISABLE   __attribute__ ((aligned(4), section("TMRCTL")));
+volatile unsigned long   mmrTIMER_STATUS    __attribute__ ((aligned(4), section("TMRCTL")));
+
+
+
+volatile unsigned short  mmrPORTFIO                 __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_CLEAR           __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_SET             __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_TOGGLE          __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_MASKA           __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_MASKA_CLEAR     __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_MASKA_SET       __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_MASKA_TOGGLE    __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_MASKB           __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_MASKB_CLEAR     __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_MASKB_SET       __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_MASKB_TOGGLE    __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_DIR             __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_POLAR           __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_EDGE            __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_BOTH            __attribute__ ((aligned(4), section("FLAGF")));
+volatile unsigned short  mmrPORTFIO_INEN            __attribute__ ((aligned(4), section("FLAGF")));
+
+
+
+volatile unsigned short  mmrSPORT0_TCR1             __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_TCR2         __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_TCLKDIV  __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_TFSDIV       __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned long   mmrSPORT0_TX       __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_DUMMY0       __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned long   mmrSPORT0_RX       __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_DUMMY1       __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_RCR1         __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_RCR2         __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_RCLKDIV  __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_RFSDIV       __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_STAT         __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_CHNL         __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_MCMC1        __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned short  mmrSPORT0_MCMC2        __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned long   mmrSPORT0_MTCS0        __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned long   mmrSPORT0_MTCS1        __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned long   mmrSPORT0_MTCS2        __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned long   mmrSPORT0_MTCS3        __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned long   mmrSPORT0_MRCS0        __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned long   mmrSPORT0_MRCS1        __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned long   mmrSPORT0_MRCS2        __attribute__ ((aligned(4), section("SPORT0")));
+volatile unsigned long   mmrSPORT0_MRCS3        __attribute__ ((aligned(4), section("SPORT0")));
+
+
+
+volatile unsigned short  mmrSPORT1_TCR1         __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_TCR2         __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_TCLKDIV  __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_TFSDIV       __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_TX       __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_DUMMY0       __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_RX       __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_DUMMY1       __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_RCR1         __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_RCR2         __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_RCLKDIV  __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_RFSDIV       __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_STAT         __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_CHNL         __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_MCMC1        __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned short  mmrSPORT1_MCMC2        __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_MTCS0        __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_MTCS1        __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_MTCS2        __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_MTCS3        __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_MRCS0        __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_MRCS1        __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_MRCS2        __attribute__ ((aligned(4), section("SPORT1")));
+volatile unsigned long   mmrSPORT1_MRCS3        __attribute__ ((aligned(4), section("SPORT1")));
+
+
+
+volatile unsigned short  mmrEBIU_AMGCTL         __attribute__ ((aligned(4), section("EBIU")));
+volatile unsigned long   mmrEBIU_AMBCTL0        __attribute__ ((aligned(4), section("EBIU")));
+volatile unsigned long   mmrEBIU_AMBCTL1        __attribute__ ((aligned(4), section("EBIU")));
+volatile unsigned short  mmrEBIU_DUMMY      __attribute__ ((aligned(4), section("EBIU")));
+volatile unsigned long   mmrEBIU_SDGCTL         __attribute__ ((aligned(4), section("EBIU")));
+volatile unsigned short  mmrEBIU_SDBCTL         __attribute__ ((aligned(4), section("EBIU")));
+volatile unsigned short  mmrEBIU_SDRRC      __attribute__ ((aligned(4), section("EBIU")));
+volatile unsigned short  mmrEBIU_SDSTAT         __attribute__ ((aligned(4), section("EBIU")));
+
+
+
+volatile    unsigned    short   mmrDMA_TC_DUMMY0    __attribute__ ((aligned(4), section("DMATC")));
+volatile    unsigned    short   mmrDMA_TC_DUMMY1    __attribute__ ((aligned(4), section("DMATC")));
+volatile    unsigned    short   mmrDMA_TC_DUMMY3    __attribute__ ((aligned(4), section("DMATC")));
+volatile unsigned short  mmrDMA_TC_PER       __attribute__ ((aligned(4), section("DMATC")));
+volatile unsigned short  mmrDMA_TC_CNT      __attribute__ ((aligned(4), section("DMATC")));
+
+
+
+volatile    void *  volatile    mmrDMA0_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA0_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA0_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA0_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA0_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA0_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA0_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA1_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA1_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA1_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA1_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA1_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA1_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA1_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA2_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA2_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA2_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA2_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA2_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA2_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA2_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA3_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA3_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA3_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA3_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA3_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA3_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA3_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA4_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA4_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA4_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA4_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA4_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA4_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA4_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA5_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA5_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA5_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA5_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA5_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA5_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA5_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA6_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA6_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA6_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA6_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA6_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA6_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA6_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA7_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA7_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA7_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA7_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA7_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA7_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA7_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA8_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA8_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA8_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA8_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA8_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA8_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA8_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA8_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA8_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA8_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA8_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA8_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA8_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA8_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA8_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA8_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA9_NEXT_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA9_START_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA9_CONFIG          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA9_DUMMY0          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA9_X_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA9_X_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA9_Y_COUNT         __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA9_Y_MODIFY        __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA9_CURR_DESC_PTR   __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA9_CURR_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA9_IRQ_STATUS      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA9_PERIPHERAL_MAP  __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA9_CURR_X_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA9_DUMMY1          __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA9_CURR_Y_COUNT    __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA9_DUMMY2          __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA10_NEXT_DESC_PTR  __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA10_START_ADDR     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA10_CONFIG         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA10_DUMMY0         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA10_X_COUNT            __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA10_X_MODIFY       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA10_Y_COUNT            __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA10_Y_MODIFY       __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA10_CURR_DESC_PTR  __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA10_CURR_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA10_IRQ_STATUS     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA10_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA10_CURR_X_COUNT   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA10_DUMMY1         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA10_CURR_Y_COUNT   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA10_DUMMY2         __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrDMA11_NEXT_DESC_PTR  __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA11_START_ADDR     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA11_CONFIG         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA11_DUMMY0         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA11_X_COUNT            __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA11_X_MODIFY       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA11_Y_COUNT            __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrDMA11_Y_MODIFY       __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA11_CURR_DESC_PTR  __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrDMA11_CURR_ADDR      __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA11_IRQ_STATUS     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA11_PERIPHERAL_MAP __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA11_CURR_X_COUNT   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA11_DUMMY1         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA11_CURR_Y_COUNT   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrDMA11_DUMMY2         __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrMDMA_D0_NEXT_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D0_START_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_CONFIG           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_DUMMY0           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_X_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_D0_X_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_Y_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_D0_Y_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D0_CURR_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D0_CURR_ADDR        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_IRQ_STATUS       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_PERIPHERAL_MAP   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_CURR_X_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_DUMMY1           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_CURR_Y_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D0_DUMMY2           __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrMDMA_S0_NEXT_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S0_START_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_CONFIG           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_DUMMY0           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_X_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_S0_X_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_Y_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_S0_Y_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S0_CURR_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S0_CURR_ADDR        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_IRQ_STATUS       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_PERIPHERAL_MAP   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_CURR_X_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_DUMMY1           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_CURR_Y_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S0_DUMMY2           __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrMDMA_D1_NEXT_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D1_START_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_CONFIG           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_DUMMY0           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_X_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_D1_X_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_Y_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_D1_Y_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D1_CURR_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_D1_CURR_ADDR        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_IRQ_STATUS       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_PERIPHERAL_MAP   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_CURR_X_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_DUMMY1           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_CURR_Y_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_D1_DUMMY2           __attribute__ ((aligned(4), section("DMA")));
+
+volatile    void *  volatile    mmrMDMA_S1_NEXT_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S1_START_ADDR       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_CONFIG           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_DUMMY0           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_X_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_S1_X_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_Y_COUNT          __attribute__ ((aligned(4), section("DMA")));
+volatile    signed  short       mmrMDMA_S1_Y_MODIFY         __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S1_CURR_DESC_PTR    __attribute__ ((aligned(4), section("DMA")));
+volatile    void *  volatile    mmrMDMA_S1_CURR_ADDR        __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_IRQ_STATUS       __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_PERIPHERAL_MAP   __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_CURR_X_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_DUMMY1           __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_CURR_Y_COUNT     __attribute__ ((aligned(4), section("DMA")));
+volatile    unsigned    short   mmrMDMA_S1_DUMMY2           __attribute__ ((aligned(4), section("DMA")));
+
+
+volatile    unsigned    short   mmrPPI_CONTROL  __attribute__ ((aligned(4), section("PPI")));
+volatile    unsigned    short   mmrPPI_STATUS   __attribute__ ((aligned(4), section("PPI")));
+volatile    unsigned    short   mmrPPI_COUNT    __attribute__ ((aligned(4), section("PPI")));
+volatile    unsigned    short   mmrPPI_DELAY    __attribute__ ((aligned(4), section("PPI")));
+volatile    unsigned    short   mmrPPI_FRAME    __attribute__ ((aligned(4), section("PPI")));
+
+
+volatile unsigned short  mmrTWI_CLKDIV      __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_CONTROL     __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_SLAVE_CTL       __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_SLAVE_STAT      __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_SLAVE_ADDR      __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_MASTER_CTL      __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_MASTER_STAT __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_MASTER_ADDR __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_INT_STAT        __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_INT_MASK        __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_FIFO_CTL        __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_FIFO_STAT       __attribute__ ((aligned(4), section("TWI")));
+volatile unsigned short  mmrTWI_XMT_DATA8       __attribute__ ((aligned(4), section("TWIDATA")));
+volatile unsigned short  mmrTWI_XMT_DATA16      __attribute__ ((aligned(4), section("TWIDATA")));
+volatile unsigned short  mmrTWI_RCV_DATA8       __attribute__ ((aligned(4), section("TWIDATA")));
+volatile unsigned short  mmrTWI_RCV_DATA16      __attribute__ ((aligned(4), section("TWIDATA")));
+
+
+
+volatile unsigned short  mmrPORTGIO     __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_CLEAR       __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_SET     __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_TOGGLE  __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_MASKA       __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_MASKA_CLEAR __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_MASKA_SET   __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_MASKA_TOGGLE    __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_MASKB       __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_MASKB_CLEAR __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_MASKB_SET   __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_MASKB_TOGGLE    __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_DIR         __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_POLAR       __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_EDGE        __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_BOTH        __attribute__ ((aligned(4), section("FLAGG")));
+volatile unsigned short  mmrPORTGIO_INEN        __attribute__ ((aligned(4), section("FLAGG")));
+
+
+
+volatile unsigned short  mmrPORTHIO     __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_CLEAR       __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_SET     __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_TOGGLE  __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_MASKA       __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_MASKA_CLEAR __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_MASKA_SET   __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_MASKA_TOGGLE    __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_MASKB       __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_MASKB_CLEAR __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_MASKB_SET   __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_MASKB_TOGGLE    __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_DIR         __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_POLAR       __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_EDGE        __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_BOTH        __attribute__ ((aligned(4), section("FLAGH")));
+volatile unsigned short  mmrPORTHIO_INEN        __attribute__ ((aligned(4), section("FLAGH")));
+
+
+
+volatile unsigned short  mmrUART1_THR       __attribute__ ((aligned(4), section("UART1")));
+volatile unsigned short  mmrUART1_IER       __attribute__ ((aligned(4), section("UART1")));
+volatile unsigned short  mmrUART1_IIR       __attribute__ ((aligned(4), section("UART1")));
+volatile unsigned short  mmrUART1_LCR       __attribute__ ((aligned(4), section("UART1")));
+volatile unsigned short  mmrUART1_MCR       __attribute__ ((aligned(4), section("UART1")));
+volatile unsigned short  mmrUART1_LSR       __attribute__ ((aligned(4), section("UART1")));
+volatile unsigned short  mmrUART1_MSR       __attribute__ ((aligned(4), section("UART1")));
+volatile unsigned short  mmrUART1_SCR       __attribute__ ((aligned(4), section("UART1")));
+volatile unsigned short  mmrUART1_DUMMY0    __attribute__ ((aligned(4), section("UART1")));
+volatile unsigned short  mmrUART1_GCTL      __attribute__ ((aligned(4), section("UART1")));
+
+
+
+
+volatile unsigned short  mmrCAN_MC1     __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_MD1     __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_TRS1        __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_TRR1        __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_TA1     __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_AA1     __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_RMP1        __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_RML1        __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_MBTIF1      __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_MBRIF1      __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_MBIM1       __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_RFH1        __attribute__ ((aligned(4), section("CANCTL0")));
+volatile unsigned short  mmrCAN_OPSS1       __attribute__ ((aligned(4), section("CANCTL0")));
+
+
+volatile unsigned short  mmrCAN_MC2     __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_MD2     __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_TRS2        __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_TRR2        __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_TA2     __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_AA2     __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_RMP2        __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_RML2        __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_MBTIF2      __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_MBRIF2      __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_MBIM2       __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_RFH2        __attribute__ ((aligned(4), section("CANCTL1")));
+volatile unsigned short  mmrCAN_OPSS2       __attribute__ ((aligned(4), section("CANCTL1")));
+
+volatile unsigned short  mmrCAN_CLOCK       __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_TIMING      __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_DEBUG       __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_STATUS      __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_CEC     __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_GIS     __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_GIM     __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_GIF     __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_CONTROL     __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_INTR        __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_DUMMY0  __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_MBTD        __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_EWR     __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_ESR     __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_DUMMY1  __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_DUMMY2  __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_UCREG       __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_UCCNT       __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_UCRC        __attribute__ ((aligned(4), section("CANCTL2")));
+volatile unsigned short  mmrCAN_UCCNF       __attribute__ ((aligned(4), section("CANCTL2")));
+
+
+volatile unsigned short  mmrCAN_AM00L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM00H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM01L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM01H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM02L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM02H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM03L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM03H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM04L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM04H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM05L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM05H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM06L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM06H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM07L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM07H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM08L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM08H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM09L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM09H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM10L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM10H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM11L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM11H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM12L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM12H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM13L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM13H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM14L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM14H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM15L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM15H       __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_AM16L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM16H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM17L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM17H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM18L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM18H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM19L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM19H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM20L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM20H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM21L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM21H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM22L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM22H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM23L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM23H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM24L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM24H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM25L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM25H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM26L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM26H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM27L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM27H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM28L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM28H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM29L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM29H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM30L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM30H       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM31L       __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_AM31H       __attribute__ ((aligned(4), section("CANMBX")));
+
+
+volatile unsigned short  mmrCAN_MB00_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB00_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB00_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB00_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB00_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB00_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB00_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB00_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB01_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB01_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB01_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB01_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB01_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB01_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB01_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB01_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB02_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB02_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB02_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB02_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB02_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB02_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB02_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB02_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB03_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB03_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB03_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB03_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB03_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB03_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB03_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB03_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB04_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB04_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB04_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB04_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB04_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB04_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB04_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB04_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB05_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB05_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB05_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB05_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB05_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB05_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB05_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB05_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB06_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB06_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB06_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB06_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB06_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB06_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB06_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB06_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB07_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB07_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB07_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB07_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB07_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB07_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB07_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB07_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB08_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB08_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB08_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB08_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB08_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB08_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB08_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB08_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB09_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB09_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB09_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB09_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB09_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB09_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB09_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB09_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB10_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB10_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB10_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB10_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB10_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB10_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB10_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB10_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB11_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB11_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB11_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB11_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB11_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB11_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB11_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB11_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB12_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB12_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB12_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB12_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB12_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB12_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB12_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB12_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB13_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB13_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB13_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB13_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB13_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB13_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB13_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB13_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB14_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB14_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB14_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB14_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB14_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB14_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB14_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB14_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB15_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB15_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB15_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB15_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB15_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB15_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB15_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB15_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB16_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB16_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB16_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB16_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB16_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB16_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB16_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB16_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB17_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB17_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB17_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB17_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB17_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB17_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB17_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB17_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB18_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB18_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB18_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB18_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB18_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB18_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB18_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB18_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB19_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB19_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB19_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB19_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB19_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB19_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB19_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB19_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB20_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB20_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB20_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB20_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB20_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB20_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB20_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB20_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB21_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB21_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB21_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB21_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB21_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB21_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB21_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB21_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB22_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB22_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB22_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB22_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB22_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB22_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB22_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB22_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB23_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB23_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB23_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB23_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB23_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB23_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB23_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB23_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB24_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB24_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB24_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB24_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB24_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB24_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB24_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB24_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB25_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB25_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB25_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB25_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB25_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB25_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB25_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB25_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB26_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB26_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB26_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB26_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB26_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB26_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB26_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB26_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB27_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB27_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB27_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB27_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB27_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB27_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB27_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB27_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB28_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB28_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB28_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB28_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB28_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB28_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB28_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB28_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB29_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB29_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB29_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB29_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB29_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB29_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB29_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB29_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB30_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB30_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB30_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB30_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB30_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB30_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB30_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB30_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+volatile unsigned short  mmrCAN_MB31_DATA0      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB31_DATA1      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB31_DATA2      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB31_DATA3      __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB31_LENGTH __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB31_TIMESTAMP  __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB31_ID0        __attribute__ ((aligned(4), section("CANMBX")));
+volatile unsigned short  mmrCAN_MB31_ID1        __attribute__ ((aligned(4), section("CANMBX")));
+
+
+volatile unsigned short  mmrPORTF_FER       __attribute__ ((aligned(4), section("PORTFER")));
+volatile unsigned short  mmrPORTG_FER       __attribute__ ((aligned(4), section("PORTFER")));
+volatile unsigned short  mmrPORTH_FER       __attribute__ ((aligned(4), section("PORTFER")));
+volatile unsigned short  mmrPORT_MUX        __attribute__ ((aligned(4), section("PORTFER")));
+
+volatile unsigned short  mmrHMDMA0_CONTROL      __attribute__ ((aligned(4), section("HDMA0")));
+volatile unsigned short  mmrHMDMA0_ECINIT       __attribute__ ((aligned(4), section("HDMA0")));
+volatile unsigned short  mmrHMDMA0_BCINIT       __attribute__ ((aligned(4), section("HDMA0")));
+volatile unsigned short  mmrHMDMA0_ECURGENT __attribute__ ((aligned(4), section("HDMA0")));
+volatile unsigned short  mmrHMDMA0_ECOVERFLOW   __attribute__ ((aligned(4), section("HDMA0")));
+volatile unsigned short  mmrHMDMA0_ECOUNT       __attribute__ ((aligned(4), section("HDMA0")));
+volatile unsigned short  mmrHMDMA0_BCOUNT       __attribute__ ((aligned(4), section("HDMA0")));
+
+volatile unsigned short  mmrHMDMA1_CONTROL      __attribute__ ((aligned(4), section("HDMA1")));
+volatile unsigned short  mmrHMDMA1_ECINIT       __attribute__ ((aligned(4), section("HDMA1")));
+volatile unsigned short  mmrHMDMA1_BCINIT       __attribute__ ((aligned(4), section("HDMA1")));
+volatile unsigned short  mmrHMDMA1_ECURGENT __attribute__ ((aligned(4), section("HDMA1")));
+volatile unsigned short  mmrHMDMA1_ECOVERFLOW   __attribute__ ((aligned(4), section("HDMA1")));
+volatile unsigned short  mmrHMDMA1_ECOUNT       __attribute__ ((aligned(4), section("HDMA1")));
+volatile unsigned short  mmrHMDMA1_BCOUNT       __attribute__ ((aligned(4), section("HDMA1")));
+
+
+volatile unsigned long  mmrEMAC_OPMODE      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_ADDRLO      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_ADDRHI      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_HASHLO      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_HASHHI      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_STAADD      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_STADAT      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_FLC         __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_VLAN1           __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_VLAN2           __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_DUMMY0      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_WKUP_CTL        __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_WKUP_FFMSK0 __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_WKUP_FFMSK1 __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_WKUP_FFMSK2 __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_WKUP_FFMSK3 __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_WKUP_FFCMD  __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_WKUP_FFOFF  __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_WKUP_FFCRC0 __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_WKUP_FFCRC1 __attribute__ ((aligned(4), section("EMAC")));
+
+volatile unsigned long  mmrEMAC_DUMMY1      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_DUMMY2      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_DUMMY3      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_DUMMY4      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long mmrEMAC_SYSCTL           __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_SYSTAT      __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_RX_STAT     __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_RX_STKY     __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_RX_IRQE     __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_TX_STAT     __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_TX_STKY     __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_TX_IRQE     __attribute__ ((aligned(4), section("EMAC")));
+
+volatile unsigned long  mmrEMAC_MMC_CTL     __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_MMC_RIRQS       __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_MMC_RIRQE       __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_MMC_TIRQS       __attribute__ ((aligned(4), section("EMAC")));
+volatile unsigned long  mmrEMAC_MMC_TIRQE       __attribute__ ((aligned(4), section("EMAC")));
+
+
+volatile unsigned long  mmrEMAC_RXC_OK      __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_FCS     __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_ALIGN       __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_OCTET       __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_DMAOVF  __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_UNICST  __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_MULTI       __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_BROAD       __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_LNERRI  __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_LNERRO  __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_LONG        __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_MACCTL  __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_OPCODE  __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_PAUSE       __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_ALLFRM  __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_ALLOCT  __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_TYPED       __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_SHORT       __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_EQ64        __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_LT128       __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_LT256       __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_LT512       __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_LT1024  __attribute__ ((aligned(4), section("EMACR")));
+volatile unsigned long  mmrEMAC_RXC_GE1024  __attribute__ ((aligned(4), section("EMACR")));
+
+volatile unsigned long  mmrEMAC_TXC_OK      __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_1COL        __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_GT1COL  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_OCTET       __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_DEFER       __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_LATECL  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_XS_COL  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_DMAUND  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_CRSERR  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_UNICST  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_MULTI       __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_BROAD       __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_XS_DFR  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_MACCTL  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_ALLFRM  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_ALLOCT  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_EQ64        __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_LT128       __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_LT256       __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_LT512       __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_LT1024  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_GE1024  __attribute__ ((aligned(4), section("EMACT")));
+volatile unsigned long  mmrEMAC_TXC_ABORT       __attribute__ ((aligned(4), section("EMACT")));
+
diff --git a/util-genmmrsyms/chip_mmr_bf592.c b/util-genmmrsyms/chip_mmr_bf592.c
new file mode 100644 (file)
index 0000000..6d38b4c
--- /dev/null
@@ -0,0 +1,372 @@
+/*
+ * ADSP-BF592の System MMR 定義。アドレスの指定は .ldファイルとの組み合わせで行う。
+ *
+ * アドレスが正しく割り当てられているかは、次の方法で検証した.
+ *
+ $ cat /opt/uClinux/bfin-elf/bfin-elf/include/def_LPBlackfin.h /opt/uClinux/bfin-elf/bfin-elf/include/defBF59x_base.h /opt/uClinux/bfin-elf/bfin-elf/include/defBF592-A.h | tr '[a-z]' '[A-Z]' | grep '0XFF[CE]0' | grep "#DEFINE" | awk '{print $2, $3}' - | grep 0X  | sed 's/0X//' |  sort -k 2 > regdef.txt
+ $ bfin-elf-readelf -s -W mmr_bf592.out | grep OBJ | awk '{print $8,$2}'| grep _mmr | sed 's/_mmr//p' | sort -k 2 | uniq | tr '[a-z]' '[A-Z]' > regelf.txt
+ $ diff regelf.txt regdef.txt > diff.txt
+
+334a335
+> DCPLB_FAULT_STATUS FFE00008
+372d372
+< IMEM_DUMMY FFE01000
+373a374
+> CODE_FAULT_STATUS FFE01008
+374a376
+> CODE_FAULT_ADDR FFE0100C
+427d428
+< IDUMMY FFE02100
+437d437
+< DBGDUMMY FFE05004
+
+
+ * いずれも小さな問題であり、したがって、上の結果は問題ないと言える。
+ *
+ */
+
+
+
+
+
+volatile unsigned short  mmrPLL_CTL __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned short  mmrPLL_DIV __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned short  mmrVR_CTL __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned short  mmrPLL_STAT __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned short  mmrPLL_LOCKCNT __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned long   mmrCHIPID __attribute ((aligned(4), section("SYSMMR0")));
+volatile unsigned short  mmrSWRST __attribute ((aligned(4), section("SYSMMR1")));
+volatile unsigned short  mmrSYSCR __attribute ((aligned(4), section("SYSMMR1")));
+volatile unsigned long   mmrSIC_IMASK0 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IAR0 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IAR1 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IAR2 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IAR3 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_ISR0 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned long   mmrSIC_IWR0 __attribute ((aligned(4), section("SYSMMR2")));
+volatile unsigned short  mmrWDOG_CTL __attribute ((aligned(4), section("SYSMMR4")));
+volatile unsigned long   mmrWDOG_CNT __attribute ((aligned(4), section("SYSMMR4")));
+volatile unsigned long   mmrWDOG_STAT __attribute ((aligned(4), section("SYSMMR4")));
+volatile unsigned short  mmrUART0_THR __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_IER __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_IIR __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_LCR __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_MCR __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_LSR __attribute ((aligned(4), section("SYSMMR6")));
+volatile unsigned short  mmrUART0_SCR __attribute ((aligned(4), section("SYSMMR7")));
+volatile unsigned short  mmrUART0_GCTL __attribute ((aligned(4), section("SYSMMR8")));
+volatile unsigned short  mmrSPI0_CTL __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_FLG __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_STAT __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_TDBR __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_RDBR __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_BAUD __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrSPI0_SHADOW __attribute ((aligned(4), section("SYSMMR9")));
+volatile unsigned short  mmrTIMER0_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER0_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER0_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER0_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER1_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER1_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER1_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER1_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER2_CONFIG __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER2_COUNTER __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER2_PERIOD __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned long   mmrTIMER2_WIDTH __attribute ((aligned(4), section("SYSMMR10")));
+volatile unsigned short  mmrTIMER_ENABLE __attribute ((aligned(4), section("SYSMMR105")));
+volatile unsigned short  mmrTIMER_DISABLE __attribute ((aligned(4), section("SYSMMR105")));
+volatile unsigned long   mmrTIMER_STATUS __attribute ((aligned(4), section("SYSMMR105")));
+volatile unsigned short  mmrPORTFIO __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_CLEAR __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_SET __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_TOGGLE __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKA __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKA_CLEAR __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKA_SET __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKA_TOGGLE __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKB __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKB_CLEAR __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKB_SET __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_MASKB_TOGGLE __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_DIR __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_POLAR __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_EDGE __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_BOTH __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrPORTFIO_INEN __attribute ((aligned(4), section("SYSMMR11")));
+volatile unsigned short  mmrSPORT0_TCR1 __attribute ((aligned(4), section("SYSMMR12")));
+volatile unsigned short  mmrSPORT0_TCR2 __attribute ((aligned(4), section("SYSMMR12")));
+volatile unsigned short  mmrSPORT0_TCLKDIV __attribute ((aligned(4), section("SYSMMR12")));
+volatile unsigned short  mmrSPORT0_TFSDIV __attribute ((aligned(4), section("SYSMMR12")));
+volatile unsigned long   mmrSPORT0_TX __attribute ((aligned(4), section("SYSMMR12")));
+volatile unsigned long   mmrSPORT0_RX __attribute ((aligned(4), section("SYSMMR13")));
+volatile unsigned short  mmrSPORT0_RCR1 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_RCR2 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_RCLKDIV __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_RFSDIV __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_STAT __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_CHNL __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_MCMC1 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT0_MCMC2 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MTCS0 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MTCS1 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MTCS2 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MTCS3 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MRCS0 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MRCS1 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MRCS2 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned long   mmrSPORT0_MRCS3 __attribute ((aligned(4), section("SYSMMR14")));
+volatile unsigned short  mmrSPORT1_TCR1 __attribute ((aligned(4), section("SYSMMR15")));
+volatile unsigned short  mmrSPORT1_TCR2 __attribute ((aligned(4), section("SYSMMR15")));
+volatile unsigned short  mmrSPORT1_TCLKDIV __attribute ((aligned(4), section("SYSMMR15")));
+volatile unsigned short  mmrSPORT1_TFSDIV __attribute ((aligned(4), section("SYSMMR15")));
+volatile unsigned long   mmrSPORT1_TX __attribute ((aligned(4), section("SYSMMR15")));
+volatile unsigned long   mmrSPORT1_RX __attribute ((aligned(4), section("SYSMMR16")));
+volatile unsigned short  mmrSPORT1_RCR1 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_RCR2 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_RCLKDIV __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_RFSDIV __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_STAT __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_CHNL __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_MCMC1 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned short  mmrSPORT1_MCMC2 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MTCS0 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MTCS1 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MTCS2 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MTCS3 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MRCS0 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MRCS1 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MRCS2 __attribute ((aligned(4), section("SYSMMR17")));
+volatile unsigned long   mmrSPORT1_MRCS3 __attribute ((aligned(4), section("SYSMMR17")));
+
+volatile unsigned short  mmrDMA_TC_PER __attribute ((aligned(4), section("SYSMMR20")));
+volatile unsigned short  mmrDMA_TC_CNT __attribute ((aligned(4), section("SYSMMR20")));
+volatile unsigned long   mmrDMA0_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR21")));
+volatile unsigned long   mmrDMA0_START_ADDR __attribute ((aligned(4), section("SYSMMR21")));
+volatile unsigned short  mmrDMA0_CONFIG __attribute ((aligned(4), section("SYSMMR21")));
+volatile unsigned short  mmrDMA0_X_COUNT __attribute ((aligned(4), section("SYSMMR22")));
+volatile signed   short  mmrDMA0_X_MODIFY __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned short  mmrDMA0_Y_COUNT __attribute ((aligned(4), section("SYSMMR22")));
+volatile signed   short  mmrDMA0_Y_MODIFY __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned long   mmrDMA0_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned long   mmrDMA0_CURR_ADDR __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned short  mmrDMA0_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned short  mmrDMA0_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned short  mmrDMA0_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR22")));
+volatile unsigned short  mmrDMA0_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR23")));
+volatile unsigned long   mmrDMA1_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR24")));
+volatile unsigned long   mmrDMA1_START_ADDR __attribute ((aligned(4), section("SYSMMR24")));
+volatile unsigned short  mmrDMA1_CONFIG __attribute ((aligned(4), section("SYSMMR24")));
+volatile unsigned short  mmrDMA1_X_COUNT __attribute ((aligned(4), section("SYSMMR25")));
+volatile signed   short  mmrDMA1_X_MODIFY __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned short  mmrDMA1_Y_COUNT __attribute ((aligned(4), section("SYSMMR25")));
+volatile signed   short  mmrDMA1_Y_MODIFY __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned long   mmrDMA1_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned long   mmrDMA1_CURR_ADDR __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned short  mmrDMA1_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned short  mmrDMA1_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned short  mmrDMA1_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR25")));
+volatile unsigned short  mmrDMA1_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR26")));
+volatile unsigned long   mmrDMA2_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR27")));
+volatile unsigned long   mmrDMA2_START_ADDR __attribute ((aligned(4), section("SYSMMR27")));
+volatile unsigned short  mmrDMA2_CONFIG __attribute ((aligned(4), section("SYSMMR27")));
+volatile unsigned short  mmrDMA2_X_COUNT __attribute ((aligned(4), section("SYSMMR28")));
+volatile signed   short  mmrDMA2_X_MODIFY __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned short  mmrDMA2_Y_COUNT __attribute ((aligned(4), section("SYSMMR28")));
+volatile signed   short  mmrDMA2_Y_MODIFY __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned long   mmrDMA2_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned long   mmrDMA2_CURR_ADDR __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned short  mmrDMA2_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned short  mmrDMA2_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned short  mmrDMA2_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR28")));
+volatile unsigned short  mmrDMA2_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR29")));
+volatile unsigned long   mmrDMA3_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR30")));
+volatile unsigned long   mmrDMA3_START_ADDR __attribute ((aligned(4), section("SYSMMR30")));
+volatile unsigned short  mmrDMA3_CONFIG __attribute ((aligned(4), section("SYSMMR30")));
+volatile unsigned short  mmrDMA3_X_COUNT __attribute ((aligned(4), section("SYSMMR31")));
+volatile signed   short  mmrDMA3_X_MODIFY __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned short  mmrDMA3_Y_COUNT __attribute ((aligned(4), section("SYSMMR31")));
+volatile signed   short  mmrDMA3_Y_MODIFY __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned long   mmrDMA3_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned long   mmrDMA3_CURR_ADDR __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned short  mmrDMA3_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned short  mmrDMA3_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned short  mmrDMA3_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR31")));
+volatile unsigned short  mmrDMA3_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR32")));
+volatile unsigned long   mmrDMA4_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR33")));
+volatile unsigned long   mmrDMA4_START_ADDR __attribute ((aligned(4), section("SYSMMR33")));
+volatile unsigned short  mmrDMA4_CONFIG __attribute ((aligned(4), section("SYSMMR33")));
+volatile unsigned short  mmrDMA4_X_COUNT __attribute ((aligned(4), section("SYSMMR34")));
+volatile signed   short  mmrDMA4_X_MODIFY __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned short  mmrDMA4_Y_COUNT __attribute ((aligned(4), section("SYSMMR34")));
+volatile signed   short  mmrDMA4_Y_MODIFY __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned long   mmrDMA4_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned long   mmrDMA4_CURR_ADDR __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned short  mmrDMA4_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned short  mmrDMA4_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned short  mmrDMA4_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR34")));
+volatile unsigned short  mmrDMA4_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR35")));
+volatile unsigned long   mmrDMA5_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR36")));
+volatile unsigned long   mmrDMA5_START_ADDR __attribute ((aligned(4), section("SYSMMR36")));
+volatile unsigned short  mmrDMA5_CONFIG __attribute ((aligned(4), section("SYSMMR36")));
+volatile unsigned short  mmrDMA5_X_COUNT __attribute ((aligned(4), section("SYSMMR37")));
+volatile signed   short  mmrDMA5_X_MODIFY __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned short  mmrDMA5_Y_COUNT __attribute ((aligned(4), section("SYSMMR37")));
+volatile signed   short  mmrDMA5_Y_MODIFY __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned long   mmrDMA5_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned long   mmrDMA5_CURR_ADDR __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned short  mmrDMA5_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned short  mmrDMA5_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned short  mmrDMA5_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR37")));
+volatile unsigned short  mmrDMA5_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR38")));
+volatile unsigned long   mmrDMA6_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR39")));
+volatile unsigned long   mmrDMA6_START_ADDR __attribute ((aligned(4), section("SYSMMR39")));
+volatile unsigned short  mmrDMA6_CONFIG __attribute ((aligned(4), section("SYSMMR39")));
+volatile unsigned short  mmrDMA6_X_COUNT __attribute ((aligned(4), section("SYSMMR40")));
+volatile signed   short  mmrDMA6_X_MODIFY __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned short  mmrDMA6_Y_COUNT __attribute ((aligned(4), section("SYSMMR40")));
+volatile signed   short  mmrDMA6_Y_MODIFY __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned long   mmrDMA6_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned long   mmrDMA6_CURR_ADDR __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned short  mmrDMA6_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned short  mmrDMA6_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned short  mmrDMA6_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR40")));
+volatile unsigned short  mmrDMA6_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR41")));
+volatile unsigned long   mmrDMA7_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR42")));
+volatile unsigned long   mmrDMA7_START_ADDR __attribute ((aligned(4), section("SYSMMR42")));
+volatile unsigned short  mmrDMA7_CONFIG __attribute ((aligned(4), section("SYSMMR42")));
+volatile unsigned short  mmrDMA7_X_COUNT __attribute ((aligned(4), section("SYSMMR43")));
+volatile signed   short  mmrDMA7_X_MODIFY __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned short  mmrDMA7_Y_COUNT __attribute ((aligned(4), section("SYSMMR43")));
+volatile signed   short  mmrDMA7_Y_MODIFY __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned long   mmrDMA7_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned long   mmrDMA7_CURR_ADDR __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned short  mmrDMA7_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned short  mmrDMA7_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned short  mmrDMA7_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR43")));
+volatile unsigned short  mmrDMA7_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR44")));
+volatile unsigned long   mmrDMA8_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR45")));
+volatile unsigned long   mmrDMA8_START_ADDR __attribute ((aligned(4), section("SYSMMR45")));
+volatile unsigned short  mmrDMA8_CONFIG __attribute ((aligned(4), section("SYSMMR45")));
+volatile unsigned short  mmrDMA8_X_COUNT __attribute ((aligned(4), section("SYSMMR46")));
+volatile signed   short  mmrDMA8_X_MODIFY __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned short  mmrDMA8_Y_COUNT __attribute ((aligned(4), section("SYSMMR46")));
+volatile signed   short  mmrDMA8_Y_MODIFY __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned long   mmrDMA8_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned long   mmrDMA8_CURR_ADDR __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned short  mmrDMA8_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned short  mmrDMA8_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned short  mmrDMA8_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR46")));
+volatile unsigned short  mmrDMA8_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR47")));
+
+
+volatile unsigned long   mmrMDMA_D0_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR57")));
+volatile unsigned long   mmrMDMA_D0_START_ADDR __attribute ((aligned(4), section("SYSMMR57")));
+volatile unsigned short  mmrMDMA_D0_CONFIG __attribute ((aligned(4), section("SYSMMR57")));
+volatile unsigned short  mmrMDMA_D0_X_COUNT __attribute ((aligned(4), section("SYSMMR58")));
+volatile signed   short  mmrMDMA_D0_X_MODIFY __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned short  mmrMDMA_D0_Y_COUNT __attribute ((aligned(4), section("SYSMMR58")));
+volatile signed   short  mmrMDMA_D0_Y_MODIFY __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned long   mmrMDMA_D0_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned long   mmrMDMA_D0_CURR_ADDR __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned short  mmrMDMA_D0_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned short  mmrMDMA_D0_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned short  mmrMDMA_D0_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR58")));
+volatile unsigned short  mmrMDMA_D0_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR59")));
+volatile unsigned long   mmrMDMA_S0_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR60")));
+volatile unsigned long   mmrMDMA_S0_START_ADDR __attribute ((aligned(4), section("SYSMMR60")));
+volatile unsigned short  mmrMDMA_S0_CONFIG __attribute ((aligned(4), section("SYSMMR60")));
+volatile unsigned short  mmrMDMA_S0_X_COUNT __attribute ((aligned(4), section("SYSMMR61")));
+volatile signed   short  mmrMDMA_S0_X_MODIFY __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned short  mmrMDMA_S0_Y_COUNT __attribute ((aligned(4), section("SYSMMR61")));
+volatile signed   short  mmrMDMA_S0_Y_MODIFY __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned long   mmrMDMA_S0_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned long   mmrMDMA_S0_CURR_ADDR __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned short  mmrMDMA_S0_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned short  mmrMDMA_S0_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned short  mmrMDMA_S0_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR61")));
+volatile unsigned short  mmrMDMA_S0_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR62")));
+volatile unsigned long   mmrMDMA_D1_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR63")));
+volatile unsigned long   mmrMDMA_D1_START_ADDR __attribute ((aligned(4), section("SYSMMR63")));
+volatile unsigned short  mmrMDMA_D1_CONFIG __attribute ((aligned(4), section("SYSMMR63")));
+volatile unsigned short  mmrMDMA_D1_X_COUNT __attribute ((aligned(4), section("SYSMMR64")));
+volatile signed   short  mmrMDMA_D1_X_MODIFY __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned short  mmrMDMA_D1_Y_COUNT __attribute ((aligned(4), section("SYSMMR64")));
+volatile signed   short  mmrMDMA_D1_Y_MODIFY __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned long   mmrMDMA_D1_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned long   mmrMDMA_D1_CURR_ADDR __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned short  mmrMDMA_D1_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned short  mmrMDMA_D1_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned short  mmrMDMA_D1_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR64")));
+volatile unsigned short  mmrMDMA_D1_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR65")));
+volatile unsigned long   mmrMDMA_S1_NEXT_DESC_PTR __attribute ((aligned(4), section("SYSMMR66")));
+volatile unsigned long   mmrMDMA_S1_START_ADDR __attribute ((aligned(4), section("SYSMMR66")));
+volatile unsigned short  mmrMDMA_S1_CONFIG __attribute ((aligned(4), section("SYSMMR66")));
+volatile unsigned short  mmrMDMA_S1_X_COUNT __attribute ((aligned(4), section("SYSMMR67")));
+volatile signed   short  mmrMDMA_S1_X_MODIFY __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned short  mmrMDMA_S1_Y_COUNT __attribute ((aligned(4), section("SYSMMR67")));
+volatile signed   short  mmrMDMA_S1_Y_MODIFY __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned long   mmrMDMA_S1_CURR_DESC_PTR __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned long   mmrMDMA_S1_CURR_ADDR __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned short  mmrMDMA_S1_IRQ_STATUS __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned short  mmrMDMA_S1_PERIPHERAL_MAP __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned short  mmrMDMA_S1_CURR_X_COUNT __attribute ((aligned(4), section("SYSMMR67")));
+volatile unsigned short  mmrMDMA_S1_CURR_Y_COUNT __attribute ((aligned(4), section("SYSMMR68")));
+
+volatile unsigned short  mmrPPI_CONTROL __attribute ((aligned(4), section("SYSMMR69")));
+volatile unsigned short  mmrPPI_STATUS __attribute ((aligned(4), section("SYSMMR69")));
+volatile unsigned short  mmrPPI_COUNT __attribute ((aligned(4), section("SYSMMR69")));
+volatile unsigned short  mmrPPI_DELAY __attribute ((aligned(4), section("SYSMMR69")));
+volatile unsigned short  mmrPPI_FRAME __attribute ((aligned(4), section("SYSMMR69")));
+
+volatile unsigned short  mmrTWI_CLKDIV __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_CONTROL __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_SLAVE_CTL __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_SLAVE_STAT __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_SLAVE_ADDR __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_MASTER_CTL __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_MASTER_STAT __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_MASTER_ADDR __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_INT_STAT __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_INT_MASK __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_FIFO_CTL __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_FIFO_STAT __attribute ((aligned(4), section("SYSMMR70")));
+volatile unsigned short  mmrTWI_XMT_DATA8 __attribute ((aligned(4), section("SYSMMR71")));
+volatile unsigned short  mmrTWI_XMT_DATA16 __attribute ((aligned(4), section("SYSMMR71")));
+volatile unsigned short  mmrTWI_RCV_DATA8 __attribute ((aligned(4), section("SYSMMR71")));
+volatile unsigned short  mmrTWI_RCV_DATA16 __attribute ((aligned(4), section("SYSMMR71")));
+
+volatile unsigned short  mmrPORTGIO __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_CLEAR __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_SET __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_TOGGLE __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKA __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKA_CLEAR __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKA_SET __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKA_TOGGLE __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKB __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKB_CLEAR __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKB_SET __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_MASKB_TOGGLE __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_DIR __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_POLAR __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_EDGE __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_BOTH __attribute ((aligned(4), section("SYSMMR72")));
+volatile unsigned short  mmrPORTGIO_INEN __attribute ((aligned(4), section("SYSMMR72")));
+
+volatile unsigned short  mmrPORTF_FER __attribute ((aligned(4), section("SYSMMR83")));
+volatile unsigned short  mmrPORTF_MUX __attribute ((aligned(4), section("SYSMMR83")));
+volatile unsigned short  mmrPORTF_PADCTL __attribute ((aligned(4), section("SYSMMR83")));
+volatile unsigned short  mmrPORTG_FER __attribute ((aligned(4), section("SYSMMR84")));
+volatile unsigned short  mmrPORTG_MUX __attribute ((aligned(4), section("SYSMMR84")));
+volatile unsigned short  mmrPORTG_PADCTL __attribute ((aligned(4), section("SYSMMR84")));
+volatile unsigned short  mmrSPORT_GATECLK __attribute ((aligned(4), section("SYSMMR84")));
+
+volatile unsigned short  mmrSPI1_CTL __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_FLG __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_STAT __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_TDBR __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_RDBR __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_BAUD __attribute ((aligned(4), section("SYSMMR91")));
+volatile unsigned short  mmrSPI1_SHADOW __attribute ((aligned(4), section("SYSMMR91")));
+
diff --git a/util-genmmrsyms/cpu_mmr.c b/util-genmmrsyms/cpu_mmr.c
new file mode 100644 (file)
index 0000000..fcaf802
--- /dev/null
@@ -0,0 +1,177 @@
+/*
+ * Blackfin Core MMR定義ファイル。
+ *
+ * このファイルはGDBでのデバッグの支援用に開発したものである。GCC環境での開発に用いても構わないが、
+ * VisualDSP++への移行は少々複雑になる。また、開発に使うための検証は行っていない。
+ *
+ * アドレスの正しさの検証は、以下の比較によって行っている。
+ *
+$ readelf -s  -W jsp | grep mmr | grep -v DUMMY | grep -v blackfin | sort -k 2 | awk '/_mmr/{print $8, $2}' -  | sed 's/_mmr//p' | uniq > regelf.txt
+$ cat ../jsp/config/blackfin/def_lpblackfin.h ../jsp/config/blackfin/defbf532.h | grep '0xFF[CE]0'  | grep "#define" | sed 's/_MA /_MAP /' - | awk '{print $2,$3}' - | sort -k 2 | sed 's/0x//' - > regdef.txt
+$ diff -i -w regelf.txt regdef.txt 24a25,27
+> RTC_PREN FFC00314
+> UART_DLL FFC00400
+> UART_RBR FFC00400
+25a29
+> UART_DLH FFC00404
+123a128
+> DMA_TCPER FFC00B0C
+124a130
+> DMA_TCCNT FFC00B10
+288a295
+> DCPLB_FAULT_STATUS FFE00008
+326a334
+> CODE_FAULT_STATUS FFE01008
+327a336
+> CODE_FAULT_ADDR FFE0100C
+ *
+ * 得られた結果では、def_lpblackfin.hにある3つのレジスタがcore_mmr.cでは無視されていることを指摘している。
+ * これらのレジスタはエイリアスであり、同じアドレスに別レジスタがあるので、この結果で正しい。
+ *
+ */
+volatile    void    *   volatile    mmrSRAM_BASE_ADDRESS    __attribute__ ((aligned(4), section("DMEMCTL")));
+volatile    unsigned    long        mmrDMEM_CONTROL __attribute__ ((aligned(4), section("DMEMCTL")));
+volatile    unsigned    long        mmrDCPLB_STATUS __attribute__ ((aligned(4), section("DMEMCTL")));
+volatile    void    *   volatile    mmrDCPLB_FAULT_ADDR __attribute__ ((aligned(4), section("DMEMCTL")));
+volatile    void    *   volatile    mmrDCPLB_ADDR0  __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR1  __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR2  __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR3  __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR4  __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR5  __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR6  __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR7  __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR8  __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR9  __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR10 __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR11 __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR12 __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR13 __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR14 __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    void    *   volatile    mmrDCPLB_ADDR15 __attribute__ ((aligned(4), section("DCPLBA")));
+volatile    unsigned    long        mmrDCPLB_DATA0  __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA1  __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA2  __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA3  __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA4  __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA5  __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA6  __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA7  __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA8  __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA9  __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA10 __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA11 __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA12 __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA13 __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA14 __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDCPLB_DATA15 __attribute__ ((aligned(4), section("DCPLBD")));
+volatile    unsigned    long        mmrDTEST_COMMAND    __attribute__ ((aligned(4), section("DTESTC")));
+volatile    unsigned    long        mmrDTEST_DATA0  __attribute__ ((aligned(4), section("DTESTD")));
+volatile    unsigned    long        mmrDTEST_DATA1  __attribute__ ((aligned(4), section("DTESTD")));
+
+
+volatile    unsigned    long        mmrIMEM_DUMMY   __attribute__ ((aligned(4), section("IMEMCTL")));
+volatile    unsigned    long        mmrIMEM_CONTROL __attribute__ ((aligned(4), section("IMEMCTL")));
+volatile    unsigned    long        mmrICPLB_STATUS __attribute__ ((aligned(4), section("IMEMCTL")));
+volatile    void    *   volatile    mmrICPLB_FAULT_ADDR __attribute__ ((aligned(4), section("IMEMCTL")));
+volatile    void    *   volatile    mmrICPLB_ADDR0  __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR1  __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR2  __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR3  __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR4  __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR5  __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR6  __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR7  __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR8  __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR9  __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR10 __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR11 __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR12 __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR13 __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR14 __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    void    *   volatile    mmrICPLB_ADDR15 __attribute__ ((aligned(4), section("ICPLBA")));
+volatile    unsigned    long        mmrICPLB_DATA0  __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA1  __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA2  __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA3  __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA4  __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA5  __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA6  __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA7  __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA8  __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA9  __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA10 __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA11 __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA12 __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA13 __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA14 __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrICPLB_DATA15 __attribute__ ((aligned(4), section("ICPLBD")));
+volatile    unsigned    long        mmrITEST_COMMAND    __attribute__ ((aligned(4), section("ITESTC")));
+volatile    unsigned    long        mmrITEST_DATA0  __attribute__ ((aligned(4), section("ITESTD")));
+volatile    unsigned    long        mmrITEST_DATA1  __attribute__ ((aligned(4), section("ITESTD")));
+
+
+volatile    void    *   volatile    mmrEVT0 __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT1 __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT2 __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT3 __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT4 __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT5 __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT6 __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT7 __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT8 __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT9 __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT10    __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT11    __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT12    __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT13    __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT14    __attribute__ ((aligned(4), section("EVT")));
+volatile    void    *   volatile    mmrEVT15    __attribute__ ((aligned(4), section("EVT")));
+volatile    unsigned    long        mmrIDUMMY   __attribute__ ((aligned(4), section("CEC")));
+volatile    unsigned    long        mmrIMASK    __attribute__ ((aligned(4), section("CEC")));
+volatile    unsigned    long        mmrIPEND    __attribute__ ((aligned(4), section("CEC")));
+volatile    unsigned    long        mmrILAT __attribute__ ((aligned(4), section("CEC")));
+volatile    unsigned    long        mmrIPRIO    __attribute__ ((aligned(4), section("CEC")));
+
+
+volatile    unsigned    long        mmrTCNTL    __attribute__ ((aligned(4), section("CTMR")));
+volatile    unsigned    long        mmrTPERIOD  __attribute__ ((aligned(4), section("CTMR")));
+volatile    unsigned    long        mmrTSCALE   __attribute__ ((aligned(4), section("CTMR")));
+volatile    unsigned    long        mmrTCOUNT   __attribute__ ((aligned(4), section("CTMR")));
+
+
+volatile    unsigned    long        mmrDSPID    __attribute__ ((aligned(4), section("DBG")));
+volatile    unsigned    short       mmrDBGDUMMY __attribute__ ((aligned(4), section("DBG")));
+volatile    unsigned    long        mmrDBGSTAT  __attribute__ ((aligned(4), section("DBG")));
+
+
+volatile    unsigned    long        mmrTBUFCTL  __attribute__ ((aligned(4), section("TBCTL")));
+volatile    unsigned    long        mmrTBUFSTAT __attribute__ ((aligned(4), section("TBCTL")));
+volatile    void    *   volatile    mmrTBUF __attribute__ ((aligned(4), section("TBUF")));
+
+
+volatile    unsigned    long        mmrWPIACTL  __attribute__ ((aligned(4), section("WPICTL")));
+volatile    void    *   volatile    mmrWPIA0    __attribute__ ((aligned(4), section("WPIADDR")));
+volatile    void    *   volatile    mmrWPIA1    __attribute__ ((aligned(4), section("WPIADDR")));
+volatile    void    *   volatile    mmrWPIA2    __attribute__ ((aligned(4), section("WPIADDR")));
+volatile    void    *   volatile    mmrWPIA3    __attribute__ ((aligned(4), section("WPIADDR")));
+volatile    void    *   volatile    mmrWPIA4    __attribute__ ((aligned(4), section("WPIADDR")));
+volatile    void    *   volatile    mmrWPIA5    __attribute__ ((aligned(4), section("WPIADDR")));
+volatile    unsigned    long        mmrWPIACNT0 __attribute__ ((aligned(4), section("WPICNT")));
+volatile    unsigned    long        mmrWPIACNT1 __attribute__ ((aligned(4), section("WPICNT")));
+volatile    unsigned    long        mmrWPIACNT2 __attribute__ ((aligned(4), section("WPICNT")));
+volatile    unsigned    long        mmrWPIACNT3 __attribute__ ((aligned(4), section("WPICNT")));
+volatile    unsigned    long        mmrWPIACNT4 __attribute__ ((aligned(4), section("WPICNT")));
+volatile    unsigned    long        mmrWPIACNT5 __attribute__ ((aligned(4), section("WPICNT")));
+volatile    unsigned    long        mmrWPDACTL  __attribute__ ((aligned(4), section("WPDCTL")));
+volatile    void    *   volatile    mmrWPDA0    __attribute__ ((aligned(4), section("WPDADDR")));
+volatile    void    *   volatile    mmrWPDA1    __attribute__ ((aligned(4), section("WPDADDR")));
+volatile    unsigned    long        mmrWPDACNT0 __attribute__ ((aligned(4), section("WPDCNT")));
+volatile    unsigned    long        mmrWPDACNT1 __attribute__ ((aligned(4), section("WPDCNT")));
+volatile    unsigned    long        mmrWPSTAT   __attribute__ ((aligned(4), section("WPSTAT")));
+
+
+volatile    unsigned    long        mmrPFCTL    __attribute__ ((aligned(4), section("PFCTL")));
+volatile    unsigned    long        mmrPFCNTR0  __attribute__ ((aligned(4), section("PFCNT")));
+volatile    unsigned    long        mmrPFCNTR1  __attribute__ ((aligned(4), section("PFCNT")));
+
diff --git a/util-genmmrsyms/mmr_bf518.out b/util-genmmrsyms/mmr_bf518.out
new file mode 100755 (executable)
index 0000000..e8e11c4
Binary files /dev/null and b/util-genmmrsyms/mmr_bf518.out differ
diff --git a/util-genmmrsyms/mmr_bf533.out b/util-genmmrsyms/mmr_bf533.out
new file mode 100755 (executable)
index 0000000..6000a56
Binary files /dev/null and b/util-genmmrsyms/mmr_bf533.out differ
diff --git a/util-genmmrsyms/mmr_bf537.out b/util-genmmrsyms/mmr_bf537.out
new file mode 100755 (executable)
index 0000000..a66317e
Binary files /dev/null and b/util-genmmrsyms/mmr_bf537.out differ
diff --git a/util-genmmrsyms/mmr_bf592.out b/util-genmmrsyms/mmr_bf592.out
new file mode 100755 (executable)
index 0000000..0ed30cb
Binary files /dev/null and b/util-genmmrsyms/mmr_bf592.out differ