2 ** LDF for ADSP-BF533.
\r
4 ** There are a number of configuration options that can be specified
\r
5 ** either by compiler flags, or by linker flags directly. The options are:
\r
8 ** Enabled by -p. Link in profiling library, and write results to
\r
9 ** both stdout and mon.out.
\r
11 ** Enabled by -p1. Only write profiling data to mon.out.
\r
13 ** Enabled by -p2. Only write profiling data to stdout.
\r
15 ** Equivalent to USE_PROFILER0.
\r
16 ** __WORKAROUNDS_ENABLED
\r
17 ** Defined by compiler when -workaround is used to direct LDF to
\r
18 ** link with libraries that have been built with work-arounds
\r
21 ** Always defined; enables the File I/O Support, which is necessary
\r
22 ** for printf() to produce any output.
\r
24 ** Makes use of Some L1 memory as cache. Implies the presence
\r
25 ** of at least some external memory.
\r
27 ** Makes SDRAM available as standard program/data memory, with no
\r
28 ** cache configuration of L1. Heap space is moved into SDRAM.
\r
29 ** PARTITION_EZKIT_SDRAM
\r
30 ** The ADSP-BF533 is supplied with one external bank populated with
\r
31 ** with 32MB of SDRAM. The ADSP-BF533 EBIU allows for 4 internal banks
\r
32 ** in an external SDRAM bank to be accessed simultaneously, reducing the
\r
33 ** stall on access compared to keeping program and data in one bank.
\r
34 ** Defining this macro partitions the SDRAM into 4 8MB banks with the
\r
35 ** intention of use being: bank0 - heap, bank1 - data, bank2 - data/bsz,
\r
36 ** bank3 - program. See 533 Hardware Reference Manual, 17-22, SDRAM
\r
38 ** NOTE: Either USE_CACHE or USE_SDRAM must also be defined to use this.
\r
40 ** Specifies a custom or System Builder generated CRT object to use.
\r
42 ** Use the ADI io library (default and fast)
\r
44 ** Use dinkum io library (slower but more compatible). Enabled
\r
45 ** by the flag -full-io
\r
50 ARCHITECTURE(ADSP-BF533)
\r
52 #ifndef __NO_STD_LIB
\r
53 SEARCH_DIR( $ADI_DSP/Blackfin/lib )
\r
56 /* Moving to primIO means that we must always include the FileIO support,
\r
57 ** so that printf() will work.
\r
60 #ifndef USE_FILEIO /* { */
\r
61 #define USE_FILEIO 1
\r
64 #ifdef USE_PROFILER /* { */
\r
65 #define USE_PROFILER0
\r
68 #ifdef USE_PROFILER0 /* { */
\r
69 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
70 #define PROFFLAG , prfflg0_532y.doj
\r
72 #define PROFFLAG , prfflg0_532.doj
\r
74 // The profiler needs File I/O to write its results.
\r
75 #define USE_FILEIO 1
\r
76 #ifndef USE_PROFILER /* { */
\r
77 #define USE_PROFILER
\r
81 #ifdef USE_PROFILER1 /* { */
\r
82 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
83 #define PROFFLAG , prfflg1_532y.doj
\r
85 #define PROFFLAG , prfflg1_532.doj
\r
87 #define USE_FILEIO 1
\r
88 #ifndef USE_PROFILER /* { */
\r
89 #define USE_PROFILER
\r
93 #ifdef USE_PROFILER2 /* { */
\r
94 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
95 #define PROFFLAG , prfflg2_532y.doj
\r
97 #define PROFFLAG , prfflg2_532.doj
\r
99 #define USE_FILEIO 1
\r
100 #ifndef USE_PROFILER /* { */
\r
101 #define USE_PROFILER
\r
105 #ifndef PROFFLAG /* { */
\r
109 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
110 #define OMEGA idle532y.doj
\r
112 #define OMEGA idle532.doj
\r
115 #define MEMINIT __initsbsz532.doj,
\r
117 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
118 #define LIBSMALL libsmall532y.dlb,
\r
119 #define FLT64 libf64ieee532y.dlb
\r
121 #define LIBSMALL libsmall532.dlb,
\r
122 #define FLT64 libf64ieee532.dlb
\r
125 #ifdef M3_RESERVED /* { */
\r
126 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
127 #define LIBM3 libm3res532y.dlb
\r
128 #define LIBDSP libdspm3res532y.dlb
\r
129 #define SFTFLT libsftflt532y.dlb
\r
131 #define LIBM3 libm3res532.dlb
\r
132 #define LIBDSP libdspm3res532.dlb
\r
133 #define SFTFLT libsftflt532.dlb
\r
136 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
137 #define LIBM3 libm3free532y.dlb
\r
138 #define LIBDSP libdsp532y.dlb
\r
139 #define SFTFLT libsftflt532y.dlb
\r
141 #define LIBM3 libm3free532.dlb
\r
142 #define LIBDSP libdsp532.dlb
\r
143 #define SFTFLT libsftflt532.dlb
\r
147 #ifdef IEEEFP /* { */
\r
148 #define FPLIBS SFTFLT, FLT64, LIBDSP
\r
150 #define FPLIBS FLT64, LIBDSP, SFTFLT
\r
153 #ifdef __WORKAROUNDS_ENABLED
\r
155 #define LIBC libc532y.dlb, librt_fileio532y.dlb, libio532y.dlb,
\r
157 #define LIBC libio532y.dlb, libc532y.dlb,
\r
159 #else //__WORKAROUNDS_ENABLED
\r
161 #define LIBC libc532.dlb, librt_fileio532.dlb, libio532.dlb,
\r
163 #define LIBC libio532.dlb, libc532.dlb,
\r
167 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
168 #ifdef __ADI_LIBEH__
\r
169 #define LIBS LIBSMALL MEMINIT LIBC LIBM3, libevent532y.dlb, libx532y.dlb, libcpp532yx.dlb, libcpprt532yx.dlb, FPLIBS, libetsi532.dlb, libssl532y.dlb, libdrv532y.dlb, OMEGA
\r
171 #define LIBS LIBSMALL MEMINIT LIBC LIBM3, libevent532y.dlb, libx532y.dlb, libcpp532y.dlb, libcpprt532y.dlb, FPLIBS, libetsi532.dlb, libssl532y.dlb, libdrv532y.dlb, OMEGA
\r
174 #ifdef __ADI_LIBEH__
\r
175 #define LIBS LIBSMALL MEMINIT LIBC LIBM3, libevent532.dlb, libx532.dlb, libcpp532x.dlb, libcpprt532x.dlb, FPLIBS, libetsi532.dlb, libssl532.dlb, libdrv532.dlb, OMEGA
\r
177 #define LIBS LIBSMALL MEMINIT LIBC LIBM3, libevent532.dlb, libx532.dlb, libcpp532.dlb, libcpprt532.dlb, FPLIBS, libetsi532.dlb, libssl532.dlb, libdrv532.dlb, OMEGA
\r
180 #if defined(USE_FILEIO) || defined(USE_PROFGUIDE)
\r
181 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
182 $LIBRARIES = LIBS, librt_fileio532y.dlb;
\r
184 $LIBRARIES = LIBS, librt_fileio532.dlb;
\r
187 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
188 $LIBRARIES = LIBS, librt532y.dlb;
\r
190 $LIBRARIES = LIBS, librt532.dlb;
\r
194 // Libraries from the command line are included in COMMAND_LINE_OBJECTS.
\r
196 // If USER_CRT is defined to be a custom/SystemBuilder generated
\r
197 // CRT file then link with that, otherwise determine which of the
\r
198 // precompiled objects to use.
\r
199 #ifdef USER_CRT /* { */
\r
200 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
201 #define CRT USER_CRT libprofile532y.dlb PROFFLAG
\r
203 #define CRT USER_CRT libprofile532.dlb PROFFLAG
\r
206 #ifdef USE_PROFILER /* { */
\r
207 #ifdef USE_FILEIO /* { */
\r
208 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
209 #define CRT crtsfpc532y.doj, libprofile532y.dlb PROFFLAG
\r
211 #define CRT crtsfpc532.doj, libprofile532.dlb PROFFLAG
\r
214 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
215 #define CRT crtscp532y.doj, libprofile532y.dlb PROFFLAG
\r
217 #define CRT crtscp532.doj, libprofile532.dlb PROFFLAG
\r
219 #endif /* USE_FILEIO */ /* } */
\r
221 #ifdef USE_FILEIO /* { */
\r
222 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
223 #define CRT crtsfc532y.doj
\r
225 #define CRT crtsfc532.doj
\r
228 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
229 #define CRT crtsc532y.doj
\r
231 #define CRT crtsc532.doj
\r
233 #endif /* USE_FILEIO */ /* } */
\r
234 #endif /* USE_PROFILER */ /* } */
\r
235 #endif /* USER_CRT } */
\r
237 #ifdef __WORKAROUNDS_ENABLED /* { */
\r
238 #define ENDCRT , crtn532y.doj
\r
240 #define ENDCRT , crtn532.doj
\r
243 $OBJECTS = CRT, $COMMAND_LINE_OBJECTS ,cplbtab533.doj ENDCRT;
\r
247 MEM_SYS_MMRS { /* System memory-mapped registers - 2MB */
\r
249 START(0xFFC00000) END(0xFFDFFFFF)
\r
253 START(0xFFB00000) END(0xFFB00FFF)
\r
255 /* Instruction SRAM, 80K, some useable as cache */
\r
256 MEM_L1_CODE_CACHE { /* L1 Instruction SRAM/Cache - 16K */
\r
258 START(0xFFA10000) END(0xFFA13FFF)
\r
260 MEM_L1_CODE { /* L1 Instruction - 64K */
\r
262 START(0xFFA00000) END(0xFFA0FFFF)
\r
264 /* Data Bank B - 32K, half usable as cache. */
\r
265 /* Split into sections for program layout. */
\r
266 /* Data - normal data, 16K */
\r
267 #ifdef USE_CACHE /* { */
\r
268 MEM_L1_DATA_B_CACHE { /* L1 Data B SRAM/Cache - 16K */
\r
270 START(0xFF904000) END(0xFF907FFF)
\r
272 MEM_L1_DATA_B { /* L1 Data B SRAM - half of 16K */
\r
274 START(0xFF902000) END(0xFF903FFF)
\r
276 #else /* } { USE_CACHE */
\r
277 MEM_L1_DATA_B { /* L1 Data B SRAM - half of 16K + 16K */
\r
279 START(0xFF902000) END(0xFF907FFF)
\r
281 #endif /* } USE_CACHE */
\r
283 MEM_L1_DATA_B_STACK { /* L1 Data B SRAM cont. - other half of 16K */
\r
285 START(0xFF900000) END(0xFF901FFF)
\r
287 /* Data Bank A - 32K, half usable as cache. */
\r
288 /* Split into sections for program layout. */
\r
289 /* Data - normal data, 16K. */
\r
290 /* If cache disabled use MEM_L1_DATA_A_CACHE for heap else use SRAM */
\r
291 MEM_L1_DATA_A_CACHE { /* L1 Data A SRAM/Cache - 16K */
\r
293 START(0xFF804000) END(0xFF807FFF)
\r
297 #define ARGV_START 0xFF803F00
\r
299 START(0xFF803F00) END(0xFF803FFF)
\r
301 MEM_L1_DATA_A { /* L1 Data A SRAM - most of 16K */
\r
303 START(0xFF800000) END(0xFF803EFF)
\r
306 MEM_L1_DATA_A { /* L1 Data A SRAM - 16K */
\r
308 START(0xFF800000) END(0xFF803FFF)
\r
311 MEM_ASYNC3 { /* Async Bank 3 - 1MB */
\r
313 START(0x20300000) END(0x203FFFFF)
\r
315 MEM_ASYNC2 { /* Async Bank 2 - 1MB */
\r
317 START(0x20200000) END(0x202FFFFF)
\r
319 MEM_ASYNC1 { /* Async Bank 1 - 1MB */
\r
321 START(0x20100000) END(0x201FFFFF)
\r
323 MEM_ASYNC0 { /* Async Bank 0 - 1MB */
\r
325 START(0x20000000) END(0x200FFFFF)
\r
328 #ifdef PARTITION_EZKIT_SDRAM
\r
329 MEM_SDRAM0_BANK0 { /* SDRAM: Ext Bank0, Int Bank0: 8MB */
\r
330 /* Used for heap */
\r
332 START(0x00000004) END(0x007FFFFF)
\r
334 MEM_SDRAM0_BANK1 { /* SDRAM: Ext Bank0, Int Bank1: 8MB */
\r
335 /* Used for data */
\r
337 START(0x00800000) END(0x00FFFFFF)
\r
339 MEM_SDRAM0_BANK2 { /* SDRAM: Ext Bank0, Int Bank2: 8MB */
\r
340 /* Used for data/bsz */
\r
342 START(0x01000000) END(0x017FFFFF)
\r
344 MEM_SDRAM0_BANK3 { /* SDRAM: Ext Bank0, Int Bank3: 8MB */
\r
345 /* Used for program */
\r
347 START(0x01800000) END(0x01FFFFFF)
\r
350 /* Claim some of SDRAM Bank 0 for heap */
\r
351 /* since it needs a separate section */
\r
353 MEM_SDRAM0 { /* SDRAM Bank 0 - 16MB-128M */
\r
355 START(0x00004000) END(0x07FFFFFF)
\r
357 MEM_SDRAM0_HEAP { /* Claim some for ext heap - 16K */
\r
359 START(0x00000004) END(0x00003FFF)
\r
366 OUTPUT( $COMMAND_LINE_OUTPUT_FILE )
\r
368 /* Following address must match start of MEM_PROGRAM */
\r
369 RESOLVE(start,0xffa00000)
\r
371 RESOLVE(___argv_string, ARGV_START)
\r
379 INPUT_SECTION_ALIGN(4)
\r
380 INPUT_SECTIONS( $OBJECTS(L1_code) $LIBRARIES(L1_code))
\r
381 INPUT_SECTIONS( $OBJECTS(cplb_code) $LIBRARIES(cplb_code))
\r
382 INPUT_SECTIONS( $OBJECTS(cplb) $LIBRARIES(cplb))
\r
383 INPUT_SECTIONS( $OBJECTS(noncache_code) $LIBRARIES(noncache_code))
\r
384 INPUT_SECTIONS( $OBJECTS(program) $LIBRARIES(program))
\r
390 INPUT_SECTION_ALIGN(4)
\r
391 ___l1_code_cache = 0;
\r
392 INPUT_SECTIONS( $OBJECTS(L1_code) $LIBRARIES(L1_code))
\r
393 INPUT_SECTIONS( $OBJECTS(cplb_code) $LIBRARIES(cplb_code))
\r
394 INPUT_SECTIONS( $OBJECTS(cplb) $LIBRARIES(cplb))
\r
395 INPUT_SECTIONS( $OBJECTS(program) $LIBRARIES(program))
\r
396 } >MEM_L1_CODE_CACHE
\r
397 #endif /* USE_CACHE */
\r
401 INPUT_SECTION_ALIGN(4)
\r
403 ___l1_data_cache_a = 0;
\r
405 INPUT_SECTIONS( $OBJECTS(L1_data_a) $LIBRARIES(L1_data_a))
\r
406 INPUT_SECTIONS( $OBJECTS(vtbl) $LIBRARIES(vtbl) )
\r
407 INPUT_SECTIONS( $OBJECTS(.frt) $LIBRARIES(.frt) )
\r
408 INPUT_SECTIONS( $OBJECTS(.frtl) $LIBRARIES(.frtl) )
\r
409 INPUT_SECTIONS( $OBJECTS(ctor) $LIBRARIES(ctor) )
\r
410 INPUT_SECTIONS( $OBJECTS(ctorl) $LIBRARIES(ctorl) )
\r
411 INPUT_SECTIONS( $OBJECTS(.gdt) $LIBRARIES(.gdt) )
\r
412 INPUT_SECTIONS( $OBJECTS(.gdtl) $LIBRARIES(.gdtl) )
\r
413 INPUT_SECTIONS( $OBJECTS(.edt) $LIBRARIES(.edt) )
\r
414 INPUT_SECTIONS( $OBJECTS(.cht) $LIBRARIES(.cht) )
\r
415 INPUT_SECTIONS( $OBJECTS(cplb_data) $LIBRARIES(cplb_data))
\r
416 INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1))
\r
417 INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata))
\r
420 constdata_L1_data_a
\r
422 INPUT_SECTION_ALIGN(4)
\r
423 INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata))
\r
428 INPUT_SECTION_ALIGN(4)
\r
430 ___l1_data_cache_b = 0;
\r
432 INPUT_SECTIONS( $OBJECTS(L1_data_b) $LIBRARIES(L1_data_b))
\r
433 INPUT_SECTIONS( $OBJECTS(bsz_init) $LIBRARIES(bsz_init))
\r
434 INPUT_SECTIONS( $OBJECTS(.edt) $LIBRARIES(.edt) )
\r
435 INPUT_SECTIONS( $OBJECTS(.cht) $LIBRARIES(.cht) )
\r
436 INPUT_SECTIONS( $OBJECTS(cplb_data) $LIBRARIES(cplb_data))
\r
437 INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1))
\r
438 INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata))
\r
441 .meminit { ALIGN(4) } >MEM_L1_DATA_B
\r
443 constdata_L1_data_b
\r
445 INPUT_SECTION_ALIGN(4)
\r
446 INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata))
\r
449 bsz_L1_data_b ZERO_INIT
\r
451 INPUT_SECTION_ALIGN(4)
\r
452 INPUT_SECTIONS( $OBJECTS(bsz) $LIBRARIES(bsz))
\r
455 bsz_L1_data_a ZERO_INIT
\r
457 INPUT_SECTION_ALIGN(4)
\r
458 INPUT_SECTIONS( $OBJECTS(bsz) $LIBRARIES(bsz))
\r
461 #ifdef USE_CACHE /* { */
\r
464 INPUT_SECTION_ALIGN(4)
\r
465 ___l1_code_cache = 1;
\r
466 } >MEM_L1_CODE_CACHE
\r
470 INPUT_SECTION_ALIGN(4)
\r
471 ___l1_data_cache_a = 1;
\r
472 } >MEM_L1_DATA_A_CACHE
\r
476 INPUT_SECTION_ALIGN(4)
\r
477 ___l1_data_cache_b = 1;
\r
478 } >MEM_L1_DATA_B_CACHE
\r
479 #endif /* } USE_CACHE */
\r
483 ldf_stack_space = .;
\r
484 ldf_stack_end = ldf_stack_space + MEMORY_SIZEOF(MEM_L1_DATA_B_STACK);
\r
485 } >MEM_L1_DATA_B_STACK
\r
487 #if defined(USE_CACHE) /* { */
\r
488 #if defined(PARTITION_EZKIT_SDRAM) /* { */
\r
491 // Allocate a heap for the application
\r
492 ldf_heap_space = .;
\r
493 ldf_heap_end = ldf_heap_space + MEMORY_SIZEOF(MEM_SDRAM0_BANK0) - 1;
\r
494 ldf_heap_length = ldf_heap_end - ldf_heap_space;
\r
495 } >MEM_SDRAM0_BANK0
\r
499 // Allocate a heap for the application
\r
500 ldf_heap_space = .;
\r
501 ldf_heap_end = ldf_heap_space + MEMORY_SIZEOF(MEM_SDRAM0_HEAP) - 1;
\r
502 ldf_heap_length = ldf_heap_end - ldf_heap_space;
\r
504 #endif /* PARTITION_EZKIT_SDRAM } */
\r
508 // Allocate a heap for the application
\r
509 ldf_heap_space = .;
\r
510 ldf_heap_end = ldf_heap_space + MEMORY_SIZEOF(MEM_L1_DATA_A_CACHE) - 1;
\r
511 ldf_heap_length = ldf_heap_end - ldf_heap_space;
\r
512 } >MEM_L1_DATA_A_CACHE
\r
513 #endif /* USE_CACHE } */
\r
515 #ifdef PARTITION_EZKIT_SDRAM /* { */
\r
518 INPUT_SECTION_ALIGN(4)
\r
519 INPUT_SECTIONS( $OBJECTS(sdram0_bank1) $LIBRARIES(sdram0_bank1))
\r
520 INPUT_SECTIONS( $OBJECTS(sdram0_data) $LIBRARIES(sdram0_data))
\r
521 INPUT_SECTIONS( $OBJECTS(cplb) $LIBRARIES(cplb))
\r
522 INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1))
\r
523 INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata))
\r
524 INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata))
\r
525 INPUT_SECTIONS( $OBJECTS(cplb_data) $LIBRARIES(cplb_data))
\r
526 INPUT_SECTIONS( $OBJECTS(.edt) $LIBRARIES(.edt) )
\r
527 INPUT_SECTIONS( $OBJECTS(.cht) $LIBRARIES(.cht) )
\r
528 } >MEM_SDRAM0_BANK1
\r
530 sdram0_bank1_bsz ZERO_INIT
\r
532 INPUT_SECTION_ALIGN(4)
\r
533 INPUT_SECTIONS( $OBJECTS(bsz) $LIBRARIES(bsz))
\r
534 } >MEM_SDRAM0_BANK1
\r
538 INPUT_SECTION_ALIGN(4)
\r
539 INPUT_SECTIONS( $OBJECTS(sdram0_bank1) $LIBRARIES(sdram0_bank1))
\r
540 INPUT_SECTIONS( $OBJECTS(sdram0_data) $LIBRARIES(sdram0_data))
\r
541 INPUT_SECTIONS( $OBJECTS(cplb) $LIBRARIES(cplb))
\r
542 INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1))
\r
543 INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata))
\r
544 INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata))
\r
545 INPUT_SECTIONS( $OBJECTS(cplb_data) $LIBRARIES(cplb_data))
\r
546 INPUT_SECTIONS( $OBJECTS(.edt) $LIBRARIES(.edt) )
\r
547 INPUT_SECTIONS( $OBJECTS(.cht) $LIBRARIES(.cht) )
\r
548 } >MEM_SDRAM0_BANK2
\r
550 sdram0_bank2_bsz ZERO_INIT
\r
552 INPUT_SECTION_ALIGN(4)
\r
553 INPUT_SECTIONS( $OBJECTS(bsz) $LIBRARIES(bsz))
\r
554 } >MEM_SDRAM0_BANK2
\r
558 INPUT_SECTION_ALIGN(4)
\r
559 INPUT_SECTIONS( $OBJECTS(sdram0_bank3) $LIBRARIES(sdram0_bank3))
\r
560 INPUT_SECTIONS( $OBJECTS(noncache_code) $LIBRARIES(noncache_code))
\r
561 INPUT_SECTIONS( $OBJECTS(program) $LIBRARIES(program))
\r
562 INPUT_SECTIONS( $OBJECTS(cplb_code) $LIBRARIES(cplb_code))
\r
563 } >MEM_SDRAM0_BANK3
\r
564 #else /* PARTITION_EZKIT_SDRAM } { */
\r
565 #if defined(USE_CACHE) || defined(USE_SDRAM) /* { */
\r
568 INPUT_SECTION_ALIGN(4)
\r
569 INPUT_SECTIONS( $OBJECTS(sdram0) $LIBRARIES(sdram0))
\r
570 INPUT_SECTIONS( $OBJECTS(noncache_code) $LIBRARIES(noncache_code))
\r
571 INPUT_SECTIONS( $OBJECTS(program) $LIBRARIES(program))
\r
572 INPUT_SECTIONS( $OBJECTS(cplb) $LIBRARIES(cplb))
\r
573 INPUT_SECTIONS( $OBJECTS(cplb_code) $LIBRARIES(cplb_code))
\r
574 INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1))
\r
575 INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata))
\r
576 INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata))
\r
577 INPUT_SECTIONS( $OBJECTS(cplb_data) $LIBRARIES(cplb_data))
\r
578 INPUT_SECTIONS( $OBJECTS(.edt) $LIBRARIES(.edt) )
\r
579 INPUT_SECTIONS( $OBJECTS(.cht) $LIBRARIES(.cht) )
\r
582 bsz_sdram0 ZERO_INIT
\r
584 INPUT_SECTION_ALIGN(4)
\r
585 INPUT_SECTIONS( $OBJECTS(bsz) $LIBRARIES(bsz))
\r
587 #endif /* USE_CACHE || USE_SDRAM } */
\r