2 * ADSP-BF518 Rev 0.0用ELFファイル。命令SRAMバンクBの配置が間違っているアノーマリ05000444へ対応している。
3 * このあのーまりを修正した Rev 0.1以降では使用できない。
6 OUTPUT_FORMAT("elf32-bfin","elf32-bfin","elf32-bfin")
9 PROVIDE (ldf_stack_end = 0xffb00FFC ) ;
10 PROVIDE (hardware_init_hook = 0) ;
11 PROVIDE (software_init_hook = 0) ;
12 PROVIDE (software_term_hook = 0) ;
13 PROVIDE (__kernel_boot_for_gdb = 0);
19 MEM_SDRAM (XW) : ORIGIN = 0x00000000, LENGTH = 128M
20 MEM_ASYNC_0 (XW) : ORIGIN = 0x20000000, LENGTH = 1M
21 MEM_ASYNC_1 (XW) : ORIGIN = 0x20100000, LENGTH = 1M
22 MEM_ASYNC_2 (XW) : ORIGIN = 0x20200000, LENGTH = 1M
23 MEM_ASYNC_3 (XW) : ORIGIN = 0x20300000, LENGTH = 1M
25 MEM_DATA_A (W!X) : ORIGIN = 0xff800000, LENGTH = 32K
26 MEM_DATA_B (W!X) : ORIGIN = 0xff900000, LENGTH = 16K /* BF518のバンクBは32kBだが、キャッシュ用に16kBあけておく */
27 MEM_INST_A (XR) : ORIGIN = 0xffa00000, LENGTH = 16K
28 MEM_INST_B (XR) : ORIGIN = 0xffa08000, LENGTH = 16K
29 /* MEM_INST_C (XR) : ORIGIN = 0xffa10000, LENGTH = 16K BF518のバンクCは16kBだが、キャッシュ用にあけておく */
30 MEM_SCRATCH (W!X) : ORIGIN = 0xffb00000, LENGTH = 4K
32 MEM_SYSMMR (W!X) : ORIGIN = 0xffc00000, LENGTH = 2M
33 MEM_COREMMR (W!X) : ORIGIN = 0xffe00000, LENGTH = 2M
38 /* Read-only sections, merged into text segment: */
39 .interp : { *(.interp) }
41 .dynsym : { *(.dynsym) }
42 .dynstr : { *(.dynstr) }
43 .gnu.version : { *(.gnu.version) }
44 .gnu.version_d : { *(.gnu.version_d) }
45 .gnu.version_r : { *(.gnu.version_r) }
46 .rel.init : { *(.rel.init) }
47 .rela.init : { *(.rela.init) }
48 .rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
49 .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
50 .rel.fini : { *(.rel.fini) }
51 .rela.fini : { *(.rela.fini) }
52 .rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
53 .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
54 .rel.data.rel.ro : { *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*) }
55 .rela.data.rel.ro : { *(.rela.data.rel.ro* .rela.gnu.linkonce.d.rel.ro.*) }
56 .rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
57 .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
58 .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
59 .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
60 .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
61 .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
62 .rel.ctors : { *(.rel.ctors) }
63 .rela.ctors : { *(.rela.ctors) }
64 .rel.dtors : { *(.rel.dtors) }
65 .rela.dtors : { *(.rela.dtors) }
66 .rel.got : { *(.rel.got) }
67 .rela.got : { *(.rela.got) }
68 .rel.sdata : { *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*) }
69 .rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) }
70 .rel.sbss : { *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*) }
71 .rela.sbss : { *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) }
72 .rel.sdata2 : { *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*) }
73 .rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) }
74 .rel.sbss2 : { *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*) }
75 .rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) }
76 .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
77 .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
78 .rel.plt : { *(.rel.plt) }
79 .rela.plt : { *(.rela.plt) }
92 libkernel.a (.text .stub .text.* .gnu.linkonce.t.*)
93 KEEP (libkernel.a (.text.*personality*))
96 /* GNU LDは、同じ名前のセクションを同じ領域に配置しようとする。そのため、セクションを分割したければ
97 違うセクション名をつけなければならない */
100 *(EXCLUDE_FILE(libkernel.a) .text .stub .text.* .gnu.linkonce.t.*)
101 KEEP (*(EXCLUDE_FILE(libkernel.a) .text.*personality*))
102 /* .gnu.warning sections are handled specially by elf32.em. */
111 .plt : { *(.plt) } >MEM_INST_B
118 PROVIDE (__etext = .);
119 PROVIDE (_etext = .);
122 .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } >MEM_DATA_A
123 .rodata1 : { *(.rodata1) } >MEM_DATA_A
127 *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
130 .sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) } >MEM_DATA_A
131 .eh_frame_hdr : { *(.eh_frame_hdr) } >MEM_DATA_A
132 .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } >MEM_DATA_A
133 .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } >MEM_DATA_A
135 /* Adjust the address for the data segment. We want to adjust up to
136 the same address within the page on the next page up. */
137 . = ALIGN(0x1000) + (. & (0x1000 - 1));
138 /* Exception handling */
139 .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } >MEM_DATA_A
140 .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } >MEM_DATA_A
141 /* Thread Local Storage sections */
142 .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } >MEM_DATA_A
143 .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } >MEM_DATA_A
146 PROVIDE_HIDDEN (___preinit_array_start = .);
147 KEEP (*(.preinit_array))
148 PROVIDE_HIDDEN (___preinit_array_end = .);
152 PROVIDE_HIDDEN (___init_array_start = .);
153 KEEP (*(SORT(.init_array.*)))
154 KEEP (*(.init_array))
155 PROVIDE_HIDDEN (___init_array_end = .);
159 PROVIDE_HIDDEN (___fini_array_start = .);
160 KEEP (*(.fini_array))
161 KEEP (*(SORT(.fini_array.*)))
162 PROVIDE_HIDDEN (___fini_array_end = .);
167 /* gcc uses crtbegin.o to find the start of
168 the constructors, so we make sure it is
169 first. Because this is a wildcard, it
170 doesn't matter if the user does not
171 actually link against crtbegin.o; the
172 linker won't look for a file to match a
173 wildcard. The wildcard also means that it
174 doesn't matter which directory crtbegin.o
176 KEEP (*crtbegin*.o(.ctors))
177 /* We don't want to include the .ctor section from
178 the crtend.o file until after the sorted ctors.
179 The .ctor section from the crtend file contains the
180 end of ctors marker and it must be last */
181 KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors))
182 KEEP (*(SORT(.ctors.*)))
183 KEEP (*crtend*.o(.ctors))
187 KEEP (*crtbegin*.o(.dtors))
188 KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors))
189 KEEP (*(SORT(.dtors.*)))
190 KEEP (*crtend*.o(.dtors))
192 .jcr : { KEEP (*(.jcr)) } >MEM_DATA_A
193 .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) } >MEM_DATA_A
194 .dynamic : { *(.dynamic) } >MEM_DATA_A
197 *(.data .data.* .gnu.linkonce.d.*)
198 KEEP (*(.gnu.linkonce.d.*personality*))
201 .data1 : { *(.data1) } >MEM_DATA_A
202 .got : { *(.got.plt) *(.got) } >MEM_DATA_A
203 /* We want the small data sections together, so single-instruction offsets
204 can access them all, and initialized data all before uninitialized, so
205 we can shorten the on-disk segment size. */
208 *(.sdata .sdata.* .gnu.linkonce.s.*)
210 __edata = .; PROVIDE (_edata = .);
215 *(.sbss .sbss.* .gnu.linkonce.sb.*)
221 *(.bss .bss.* .gnu.linkonce.b.*)
223 /* Align here to ensure that the .bss section occupies space up to
224 _end. Align after .bss to ensure correct alignment even if the
225 .bss section disappears because there are no input sections.
226 FIXME: Why do we need it? When there is no .bss section, we don't
227 pad the .data section. */
228 . = ALIGN(. != 0 ? 32 / 8 : 1);
233 __end = .; PROVIDE (_end = .);
234 /* Stabs debugging sections. */
235 .stab 0 : { *(.stab) }
236 .stabstr 0 : { *(.stabstr) }
237 .stab.excl 0 : { *(.stab.excl) }
238 .stab.exclstr 0 : { *(.stab.exclstr) }
239 .stab.index 0 : { *(.stab.index) }
240 .stab.indexstr 0 : { *(.stab.indexstr) }
241 .comment 0 : { *(.comment) }
242 /* DWARF debug sections.
243 Symbols in the DWARF debugging sections are relative to the beginning
244 of the section so we begin them at 0. */
246 .debug 0 : { *(.debug) }
247 .line 0 : { *(.line) }
248 /* GNU DWARF 1 extensions */
249 .debug_srcinfo 0 : { *(.debug_srcinfo) }
250 .debug_sfnames 0 : { *(.debug_sfnames) }
251 /* DWARF 1.1 and DWARF 2 */
252 .debug_aranges 0 : { *(.debug_aranges) }
253 .debug_pubnames 0 : { *(.debug_pubnames) }
255 .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
256 .debug_abbrev 0 : { *(.debug_abbrev) }
257 .debug_line 0 : { *(.debug_line) }
258 .debug_frame 0 : { *(.debug_frame) }
259 .debug_str 0 : { *(.debug_str) }
260 .debug_loc 0 : { *(.debug_loc) }
261 .debug_macinfo 0 : { *(.debug_macinfo) }
262 /* SGI/MIPS DWARF 2 extensions */
263 .debug_weaknames 0 : { *(.debug_weaknames) }
264 .debug_funcnames 0 : { *(.debug_funcnames) }
265 .debug_typenames 0 : { *(.debug_typenames) }
266 .debug_varnames 0 : { *(.debug_varnames) }
268 __stack_end = ORIGIN(MEM_SCRATCH) + LENGTH(MEM_SCRATCH);
270 __heap_start = ORIGIN(MEM_DATA_B);
271 __heap_end = ORIGIN(MEM_DATA_B) + LENGTH(MEM_DATA_B);
277 /* ADSP-BF518依存のSYSTEM MMR
278 .bss.sysmmr (NOLOAD) : { . = 0x0000; chip_mmr.o(SYSMMR0)}>MEM_SYSMMR
279 .bss.sysmmr (NOLOAD) : { . = 0x0100; chip_mmr.o(SYSMMR1)}>MEM_SYSMMR
280 .bss.sysmmr (NOLOAD) : { . = 0x010C; chip_mmr.o(SYSMMR2)}>MEM_SYSMMR
281 .bss.sysmmr (NOLOAD) : { . = 0x014C; chip_mmr.o(SYSMMR3)}>MEM_SYSMMR
282 .bss.sysmmr (NOLOAD) : { . = 0x0200; chip_mmr.o(SYSMMR4)}>MEM_SYSMMR
283 .bss.sysmmr (NOLOAD) : { . = 0x0300; chip_mmr.o(SYSMMR5)}>MEM_SYSMMR
284 .bss.sysmmr (NOLOAD) : { . = 0x0400; chip_mmr.o(SYSMMR6)}>MEM_SYSMMR
285 .bss.sysmmr (NOLOAD) : { . = 0x041C; chip_mmr.o(SYSMMR7)}>MEM_SYSMMR
286 .bss.sysmmr (NOLOAD) : { . = 0x0424; chip_mmr.o(SYSMMR8)}>MEM_SYSMMR
287 .bss.sysmmr (NOLOAD) : { . = 0x0500; chip_mmr.o(SYSMMR9)}>MEM_SYSMMR
288 .bss.sysmmr (NOLOAD) : { . = 0x0600; chip_mmr.o(SYSMMR10)}>MEM_SYSMMR
289 .bss.sysmmr (NOLOAD) : { . = 0x0700; chip_mmr.o(SYSMMR11)}>MEM_SYSMMR
290 .bss.sysmmr (NOLOAD) : { . = 0x0800; chip_mmr.o(SYSMMR12)}>MEM_SYSMMR
291 .bss.sysmmr (NOLOAD) : { . = 0x0818; chip_mmr.o(SYSMMR13)}>MEM_SYSMMR
292 .bss.sysmmr (NOLOAD) : { . = 0x0820; chip_mmr.o(SYSMMR14)}>MEM_SYSMMR
293 .bss.sysmmr (NOLOAD) : { . = 0x0900; chip_mmr.o(SYSMMR15)}>MEM_SYSMMR
294 .bss.sysmmr (NOLOAD) : { . = 0x0918; chip_mmr.o(SYSMMR16)}>MEM_SYSMMR
295 .bss.sysmmr (NOLOAD) : { . = 0x0920; chip_mmr.o(SYSMMR17)}>MEM_SYSMMR
296 .bss.sysmmr (NOLOAD) : { . = 0x0A00; chip_mmr.o(SYSMMR18)}>MEM_SYSMMR
297 .bss.sysmmr (NOLOAD) : { . = 0x0A10; chip_mmr.o(SYSMMR19)}>MEM_SYSMMR
298 .bss.sysmmr (NOLOAD) : { . = 0x0B0C; chip_mmr.o(SYSMMR20)}>MEM_SYSMMR
299 .bss.sysmmr (NOLOAD) : { . = 0x0C00; chip_mmr.o(SYSMMR21)}>MEM_SYSMMR
300 .bss.sysmmr (NOLOAD) : { . = 0x0C10; chip_mmr.o(SYSMMR22)}>MEM_SYSMMR
301 .bss.sysmmr (NOLOAD) : { . = 0x0C38; chip_mmr.o(SYSMMR23)}>MEM_SYSMMR
302 .bss.sysmmr (NOLOAD) : { . = 0x0C40; chip_mmr.o(SYSMMR24)}>MEM_SYSMMR
303 .bss.sysmmr (NOLOAD) : { . = 0x0C50; chip_mmr.o(SYSMMR25)}>MEM_SYSMMR
304 .bss.sysmmr (NOLOAD) : { . = 0x0C78; chip_mmr.o(SYSMMR26)}>MEM_SYSMMR
305 .bss.sysmmr (NOLOAD) : { . = 0x0C80; chip_mmr.o(SYSMMR27)}>MEM_SYSMMR
306 .bss.sysmmr (NOLOAD) : { . = 0x0C90; chip_mmr.o(SYSMMR28)}>MEM_SYSMMR
307 .bss.sysmmr (NOLOAD) : { . = 0x0CB8; chip_mmr.o(SYSMMR29)}>MEM_SYSMMR
308 .bss.sysmmr (NOLOAD) : { . = 0x0CC0; chip_mmr.o(SYSMMR30)}>MEM_SYSMMR
309 .bss.sysmmr (NOLOAD) : { . = 0x0CD0; chip_mmr.o(SYSMMR31)}>MEM_SYSMMR
310 .bss.sysmmr (NOLOAD) : { . = 0x0CF8; chip_mmr.o(SYSMMR32)}>MEM_SYSMMR
311 .bss.sysmmr (NOLOAD) : { . = 0x0D00; chip_mmr.o(SYSMMR33)}>MEM_SYSMMR
312 .bss.sysmmr (NOLOAD) : { . = 0x0D10; chip_mmr.o(SYSMMR34)}>MEM_SYSMMR
313 .bss.sysmmr (NOLOAD) : { . = 0x0D38; chip_mmr.o(SYSMMR35)}>MEM_SYSMMR
314 .bss.sysmmr (NOLOAD) : { . = 0x0D40; chip_mmr.o(SYSMMR36)}>MEM_SYSMMR
315 .bss.sysmmr (NOLOAD) : { . = 0x0D50; chip_mmr.o(SYSMMR37)}>MEM_SYSMMR
316 .bss.sysmmr (NOLOAD) : { . = 0x0D78; chip_mmr.o(SYSMMR38)}>MEM_SYSMMR
317 .bss.sysmmr (NOLOAD) : { . = 0x0D80; chip_mmr.o(SYSMMR39)}>MEM_SYSMMR
318 .bss.sysmmr (NOLOAD) : { . = 0x0D90; chip_mmr.o(SYSMMR40)}>MEM_SYSMMR
319 .bss.sysmmr (NOLOAD) : { . = 0x0DB8; chip_mmr.o(SYSMMR41)}>MEM_SYSMMR
320 .bss.sysmmr (NOLOAD) : { . = 0x0DC0; chip_mmr.o(SYSMMR42)}>MEM_SYSMMR
321 .bss.sysmmr (NOLOAD) : { . = 0x0DD0; chip_mmr.o(SYSMMR43)}>MEM_SYSMMR
322 .bss.sysmmr (NOLOAD) : { . = 0x0DF8; chip_mmr.o(SYSMMR44)}>MEM_SYSMMR
323 .bss.sysmmr (NOLOAD) : { . = 0x0E00; chip_mmr.o(SYSMMR45)}>MEM_SYSMMR
324 .bss.sysmmr (NOLOAD) : { . = 0x0E10; chip_mmr.o(SYSMMR46)}>MEM_SYSMMR
325 .bss.sysmmr (NOLOAD) : { . = 0x0E38; chip_mmr.o(SYSMMR47)}>MEM_SYSMMR
326 .bss.sysmmr (NOLOAD) : { . = 0x0E40; chip_mmr.o(SYSMMR48)}>MEM_SYSMMR
327 .bss.sysmmr (NOLOAD) : { . = 0x0E50; chip_mmr.o(SYSMMR49)}>MEM_SYSMMR
328 .bss.sysmmr (NOLOAD) : { . = 0x0E78; chip_mmr.o(SYSMMR50)}>MEM_SYSMMR
329 .bss.sysmmr (NOLOAD) : { . = 0x0E80; chip_mmr.o(SYSMMR51)}>MEM_SYSMMR
330 .bss.sysmmr (NOLOAD) : { . = 0x0E90; chip_mmr.o(SYSMMR52)}>MEM_SYSMMR
331 .bss.sysmmr (NOLOAD) : { . = 0x0EB8; chip_mmr.o(SYSMMR53)}>MEM_SYSMMR
332 .bss.sysmmr (NOLOAD) : { . = 0x0EC0; chip_mmr.o(SYSMMR54)}>MEM_SYSMMR
333 .bss.sysmmr (NOLOAD) : { . = 0x0ED0; chip_mmr.o(SYSMMR55)}>MEM_SYSMMR
334 .bss.sysmmr (NOLOAD) : { . = 0x0EF8; chip_mmr.o(SYSMMR56)}>MEM_SYSMMR
335 .bss.sysmmr (NOLOAD) : { . = 0x0F00; chip_mmr.o(SYSMMR57)}>MEM_SYSMMR
336 .bss.sysmmr (NOLOAD) : { . = 0x0F10; chip_mmr.o(SYSMMR58)}>MEM_SYSMMR
337 .bss.sysmmr (NOLOAD) : { . = 0x0F38; chip_mmr.o(SYSMMR59)}>MEM_SYSMMR
338 .bss.sysmmr (NOLOAD) : { . = 0x0F40; chip_mmr.o(SYSMMR60)}>MEM_SYSMMR
339 .bss.sysmmr (NOLOAD) : { . = 0x0F50; chip_mmr.o(SYSMMR61)}>MEM_SYSMMR
340 .bss.sysmmr (NOLOAD) : { . = 0x0F78; chip_mmr.o(SYSMMR62)}>MEM_SYSMMR
341 .bss.sysmmr (NOLOAD) : { . = 0x0F80; chip_mmr.o(SYSMMR63)}>MEM_SYSMMR
342 .bss.sysmmr (NOLOAD) : { . = 0x0F90; chip_mmr.o(SYSMMR64)}>MEM_SYSMMR
343 .bss.sysmmr (NOLOAD) : { . = 0x0FB8; chip_mmr.o(SYSMMR65)}>MEM_SYSMMR
344 .bss.sysmmr (NOLOAD) : { . = 0x0FC0; chip_mmr.o(SYSMMR66)}>MEM_SYSMMR
345 .bss.sysmmr (NOLOAD) : { . = 0x0FD0; chip_mmr.o(SYSMMR67)}>MEM_SYSMMR
346 .bss.sysmmr (NOLOAD) : { . = 0x0FF8; chip_mmr.o(SYSMMR68)}>MEM_SYSMMR
347 .bss.sysmmr (NOLOAD) : { . = 0x1000; chip_mmr.o(SYSMMR69)}>MEM_SYSMMR
348 .bss.sysmmr (NOLOAD) : { . = 0x1400; chip_mmr.o(SYSMMR70)}>MEM_SYSMMR
349 .bss.sysmmr (NOLOAD) : { . = 0x1480; chip_mmr.o(SYSMMR71)}>MEM_SYSMMR
350 .bss.sysmmr (NOLOAD) : { . = 0x1500; chip_mmr.o(SYSMMR72)}>MEM_SYSMMR
351 .bss.sysmmr (NOLOAD) : { . = 0x1700; chip_mmr.o(SYSMMR73)}>MEM_SYSMMR
352 .bss.sysmmr (NOLOAD) : { . = 0x2000; chip_mmr.o(SYSMMR74)}>MEM_SYSMMR
353 .bss.sysmmr (NOLOAD) : { . = 0x201C; chip_mmr.o(SYSMMR75)}>MEM_SYSMMR
354 .bss.sysmmr (NOLOAD) : { . = 0x2024; chip_mmr.o(SYSMMR76)}>MEM_SYSMMR
355 .bss.sysmmr (NOLOAD) : { . = 0x3000; chip_mmr.o(SYSMMR77)}>MEM_SYSMMR
356 .bss.sysmmr (NOLOAD) : { . = 0x302C; chip_mmr.o(SYSMMR78)}>MEM_SYSMMR
357 .bss.sysmmr (NOLOAD) : { . = 0x3060; chip_mmr.o(SYSMMR79)}>MEM_SYSMMR
358 .bss.sysmmr (NOLOAD) : { . = 0x30A0; chip_mmr.o(SYSMMR80)}>MEM_SYSMMR
359 .bss.sysmmr (NOLOAD) : { . = 0x3100; chip_mmr.o(SYSMMR81)}>MEM_SYSMMR
360 .bss.sysmmr (NOLOAD) : { . = 0x3180; chip_mmr.o(SYSMMR82)}>MEM_SYSMMR
361 .bss.sysmmr (NOLOAD) : { . = 0x3200; chip_mmr.o(SYSMMR83)}>MEM_SYSMMR
362 .bss.sysmmr (NOLOAD) : { . = 0x3210; chip_mmr.o(SYSMMR84)}>MEM_SYSMMR
363 .bss.sysmmr (NOLOAD) : { . = 0x3220; chip_mmr.o(SYSMMR85)}>MEM_SYSMMR
364 .bss.sysmmr (NOLOAD) : { . = 0x3240; chip_mmr.o(SYSMMR86)}>MEM_SYSMMR
365 .bss.sysmmr (NOLOAD) : { . = 0x3280; chip_mmr.o(SYSMMR87)}>MEM_SYSMMR
366 .bss.sysmmr (NOLOAD) : { . = 0x3288; chip_mmr.o(SYSMMR88)}>MEM_SYSMMR
367 .bss.sysmmr (NOLOAD) : { . = 0x3300; chip_mmr.o(SYSMMR89)}>MEM_SYSMMR
368 .bss.sysmmr (NOLOAD) : { . = 0x3340; chip_mmr.o(SYSMMR90)}>MEM_SYSMMR
369 .bss.sysmmr (NOLOAD) : { . = 0x3400; chip_mmr.o(SYSMMR91)}>MEM_SYSMMR
370 .bss.sysmmr (NOLOAD) : { . = 0x3500; chip_mmr.o(SYSMMR92)}>MEM_SYSMMR
371 .bss.sysmmr (NOLOAD) : { . = 0x3620; chip_mmr.o(SYSMMR93)}>MEM_SYSMMR
372 .bss.sysmmr (NOLOAD) : { . = 0x3680; chip_mmr.o(SYSMMR94)}>MEM_SYSMMR
373 .bss.sysmmr (NOLOAD) : { . = 0x3700; chip_mmr.o(SYSMMR95)}>MEM_SYSMMR
374 .bss.sysmmr (NOLOAD) : { . = 0x3800; chip_mmr.o(SYSMMR96)}>MEM_SYSMMR
375 .bss.sysmmr (NOLOAD) : { . = 0x3848; chip_mmr.o(SYSMMR97)}>MEM_SYSMMR
376 .bss.sysmmr (NOLOAD) : { . = 0x3880; chip_mmr.o(SYSMMR98)}>MEM_SYSMMR
377 .bss.sysmmr (NOLOAD) : { . = 0x38C0; chip_mmr.o(SYSMMR99)}>MEM_SYSMMR
383 /* Blackfin 共有のCORE MMR
384 .bss.coremmr (NOLOAD) : { cpu_mmr.o(DMEMCTL)}> MEM_COREMMR
385 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(DCPLBA)}> MEM_COREMMR
386 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(DCPLBD)}> MEM_COREMMR
387 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(DTESTC)}> MEM_COREMMR
388 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(DTESTD)}> MEM_COREMMR
389 .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); cpu_mmr.o(IMEMCTL)}> MEM_COREMMR
390 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(ICPLBA)}> MEM_COREMMR
391 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(ICPLBD)}> MEM_COREMMR
392 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(ITESTC)}> MEM_COREMMR
393 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(ITESTD)}> MEM_COREMMR
394 .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); cpu_mmr.o(EVT)}> MEM_COREMMR
395 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(CEC)}> MEM_COREMMR
396 .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); cpu_mmr.o(CTMR)}> MEM_COREMMR
397 .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000)+0x1000; cpu_mmr.o(DBG)}> MEM_COREMMR
398 .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); cpu_mmr.o(TBCTL)}> MEM_COREMMR
399 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(TBUF)}> MEM_COREMMR
400 .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); cpu_mmr.o(WPICTL)}> MEM_COREMMR
401 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); cpu_mmr.o(WPIADDR)}> MEM_COREMMR
402 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); cpu_mmr.o(WPICNT)}> MEM_COREMMR
403 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(WPDCTL)}> MEM_COREMMR
404 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); cpu_mmr.o(WPDADDR)}> MEM_COREMMR
405 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0040); cpu_mmr.o(WPDCNT)}> MEM_COREMMR
406 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(WPSTAT)}> MEM_COREMMR
407 .bss.coremmr (NOLOAD) : { . = ALIGN(0x1000); cpu_mmr.o(PFCTL)}> MEM_COREMMR
408 .bss.coremmr (NOLOAD) : { . = ALIGN(0x0100); cpu_mmr.o(PFCNT)}> MEM_COREMMR
410 .comment 0 : { *(.comment) }
411 .debug 0 : { *(.debug) }
412 .line 0 : { *(.line) }
413 .debug_srcinfo 0 : { *(.debug_srcinfo) }
414 .debug_sfnames 0 : { *(.debug_sfnames) }
415 .debug_aranges 0 : { *(.debug_aranges) }
416 .debug_pubnames 0 : { *(.debug_pubnames) }