From 669221c58b95e27155b94996d84f34c9f5c0aafc Mon Sep 17 00:00:00 2001 From: takemasa Date: Sat, 4 Aug 2012 08:24:44 +0900 Subject: [PATCH 1/1] First commit --- util-genmmrsyms/.cproject | 223 ++++++++ util-genmmrsyms/.cvsignore | 4 + util-genmmrsyms/.project | 77 +++ util-genmmrsyms/Makefile | 33 ++ util-genmmrsyms/README | 6 + util-genmmrsyms/bf518elf.ld | 174 ++++++ util-genmmrsyms/bf532elf.ld | 77 +++ util-genmmrsyms/bf537elf.ld | 94 ++++ util-genmmrsyms/bf592elf.ld | 160 ++++++ util-genmmrsyms/chip_mmr_bf518.c | 672 +++++++++++++++++++++++ util-genmmrsyms/chip_mmr_bf533.c | 413 ++++++++++++++ util-genmmrsyms/chip_mmr_bf537.c | 1117 ++++++++++++++++++++++++++++++++++++++ util-genmmrsyms/chip_mmr_bf592.c | 372 +++++++++++++ util-genmmrsyms/cpu_mmr.c | 177 ++++++ util-genmmrsyms/mmr_bf518.out | Bin 0 -> 68524 bytes util-genmmrsyms/mmr_bf533.out | Bin 0 -> 42284 bytes util-genmmrsyms/mmr_bf537.out | Bin 0 -> 97987 bytes util-genmmrsyms/mmr_bf592.out | Bin 0 -> 42667 bytes 18 files changed, 3599 insertions(+) create mode 100644 util-genmmrsyms/.cproject create mode 100644 util-genmmrsyms/.cvsignore create mode 100644 util-genmmrsyms/.project create mode 100644 util-genmmrsyms/Makefile create mode 100644 util-genmmrsyms/README create mode 100644 util-genmmrsyms/bf518elf.ld create mode 100644 util-genmmrsyms/bf532elf.ld create mode 100644 util-genmmrsyms/bf537elf.ld create mode 100644 util-genmmrsyms/bf592elf.ld create mode 100644 util-genmmrsyms/chip_mmr_bf518.c create mode 100644 util-genmmrsyms/chip_mmr_bf533.c create mode 100644 util-genmmrsyms/chip_mmr_bf537.c create mode 100644 util-genmmrsyms/chip_mmr_bf592.c create mode 100644 util-genmmrsyms/cpu_mmr.c create mode 100755 util-genmmrsyms/mmr_bf518.out create mode 100755 util-genmmrsyms/mmr_bf533.out create mode 100755 util-genmmrsyms/mmr_bf537.out create mode 100755 util-genmmrsyms/mmr_bf592.out diff --git a/util-genmmrsyms/.cproject b/util-genmmrsyms/.cproject new file mode 100644 index 0000000..eae72a9 --- /dev/null +++ b/util-genmmrsyms/.cproject @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + make + + all + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/util-genmmrsyms/.cvsignore b/util-genmmrsyms/.cvsignore new file mode 100644 index 0000000..ea5bd75 --- /dev/null +++ b/util-genmmrsyms/.cvsignore @@ -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 index 0000000..e47f3d5 --- /dev/null +++ b/util-genmmrsyms/.project @@ -0,0 +1,77 @@ + + + util-genmmrsyms + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + ?name? + + + + org.eclipse.cdt.make.core.append_environment + true + + + org.eclipse.cdt.make.core.autoBuildTarget + all + + + org.eclipse.cdt.make.core.buildArguments + + + + org.eclipse.cdt.make.core.buildCommand + make + + + org.eclipse.cdt.make.core.cleanBuildTarget + clean + + + org.eclipse.cdt.make.core.contents + org.eclipse.cdt.make.core.activeConfigSettings + + + org.eclipse.cdt.make.core.enableAutoBuild + false + + + org.eclipse.cdt.make.core.enableCleanBuild + true + + + org.eclipse.cdt.make.core.enableFullBuild + true + + + org.eclipse.cdt.make.core.fullBuildTarget + all + + + org.eclipse.cdt.make.core.stopOnError + true + + + org.eclipse.cdt.make.core.useDefaultBuildCmd + true + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/util-genmmrsyms/Makefile b/util-genmmrsyms/Makefile new file mode 100644 index 0000000..be7755d --- /dev/null +++ b/util-genmmrsyms/Makefile @@ -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 index 0000000..f620475 --- /dev/null +++ b/util-genmmrsyms/README @@ -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 index 0000000..ede5513 --- /dev/null +++ b/util-genmmrsyms/bf518elf.ld @@ -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 index 0000000..a26fc8a --- /dev/null +++ b/util-genmmrsyms/bf532elf.ld @@ -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 index 0000000..9636203 --- /dev/null +++ b/util-genmmrsyms/bf537elf.ld @@ -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 index 0000000..5dba020 --- /dev/null +++ b/util-genmmrsyms/bf592elf.ld @@ -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 index 0000000..bb5cab7 --- /dev/null +++ b/util-genmmrsyms/chip_mmr_bf518.c @@ -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 index 0000000..75c369a --- /dev/null +++ b/util-genmmrsyms/chip_mmr_bf533.c @@ -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 index 0000000..74d7146 --- /dev/null +++ b/util-genmmrsyms/chip_mmr_bf537.c @@ -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 index 0000000..6d38b4c --- /dev/null +++ b/util-genmmrsyms/chip_mmr_bf592.c @@ -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 index 0000000..fcaf802 --- /dev/null +++ b/util-genmmrsyms/cpu_mmr.c @@ -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 index 0000000000000000000000000000000000000000..e8e11c43dede5220e55e2679001fdd0e041e95e7 GIT binary patch literal 68524 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 MKh#&v$)9)qKfrj{z5oCK literal 0 HcmV?d00001 diff --git a/util-genmmrsyms/mmr_bf533.out b/util-genmmrsyms/mmr_bf533.out new file mode 100755 index 0000000000000000000000000000000000000000..6000a56e77a0198be3ea255fb8828e1a06bc76a8 GIT binary patch literal 42284 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 literal 0 HcmV?d00001 diff --git a/util-genmmrsyms/mmr_bf537.out b/util-genmmrsyms/mmr_bf537.out new file mode 100755 index 0000000000000000000000000000000000000000..a66317e2e67bf147d1df9cef8b47b0d535acb3ce GIT binary patch literal 97987 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�K$3JH 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 Lra4Kd5_|kVs#AE- literal 0 HcmV?d00001 diff --git a/util-genmmrsyms/mmr_bf592.out b/util-genmmrsyms/mmr_bf592.out new file mode 100755 index 0000000000000000000000000000000000000000..0ed30cb62c8c12a0b9eadc8358b6a242b9863608 GIT binary patch literal 42667 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 literal 0 HcmV?d00001 -- 2.11.0