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