OSDN Git Service

Sメーター周りを修正
[trx-305dsp/dsp.git] / trx305 / kernel / tools / blackfin-vdsp / sample1_acb_bf592 / sample1.ldf
1 /* MANAGED-BY-SYSTEM-BUILDER                                    */
2 /* VisualDSP++ 5.0 Update 10                                    */
3 /* LDF Printer version: 5.9.0.1                                 */
4 /* ldfgen.exe version: 5.9.0.1                                  */
5 /* VDSG version: 5.9.0.1                                        */
6
7 /*
8 ** ADSP-BF592-A linker description file generated on Jul 20, 2012 at 15:59:24.
9 **
10 ** Copyright (C) 2000-2010 Analog Devices Inc., All Rights Reserved.
11 **
12 ** This file is generated automatically based upon the options selected
13 ** in the LDF Wizard. Changes to the LDF configuration should be made by
14 ** changing the appropriate options rather than editing this file.
15 **
16 ** Configuration:-
17 **     crt_doj:                                sample1_acb_bf592_basiccrt.doj
18 **     processor:                              ADSP-BF592-A
19 **     product_name:                           VisualDSP++ 5.0 Update 10
20 **     si_revision:                            automatic
21 **     default_silicon_revision_from_archdef:  0.2
22 **     using_cplusplus:                        true
23 **     mem_init:                               false
24 **     use_vdk:                                false
25 **     use_mt:                                 false
26 **     use_eh:                                 true
27 **     use_argv:                               true
28 **     running_from_internal_memory:           true
29 **     user_heap_src_file:                     X:\Work\jsp\tools\blackfin-vdsp\sample1_acb_bf592\sample1_acb_bf592_heaptab.c
30 **     libraries_use_stdlib:                   true
31 **     libraries_use_fileio_libs:              false
32 **     libraries_use_ieeefp_emulation_libs:    false
33 **     libraries_use_eh_enabled_libs:          false
34 **     libraries_use_fixed_point_io_libs:      false
35 **     libraries_use_utility_rom:              true
36 **     detect_stackoverflow:                   false
37 **     system_heap:                            L1
38 **     system_heap_min_size:                   2k
39 **     system_stack:                           L1
40 **     system_stack_min_size:                  2k
41 **     use_sdram:                              false
42 **
43 */
44
45 ARCHITECTURE(ADSP-BF592-A)
46
47 SEARCH_DIR($ADI_DSP/Blackfin/lib)
48
49
50 #if !defined(NO_UTILITY_ROM)
51 # if defined(__SILICON_REVISION__) && (__SILICON_REVISION__==0)
52 #   warning there is no Utility ROM in revision 0.0
53 #   define NO_UTILITY_ROM
54 # elif !defined(__SILICON_REVISION__) || (__SILICON_REVISION__==0xffff)
55 #   warning \
56     The Tools Utility ROM will not be used to link this application because \
57 the silicon revision does not specify a specific revision number. This message \
58 may be suppressed by defining the LDF macro NO_UTILITY_ROM.
59 #   define NO_UTILITY_ROM
60 # endif
61 #endif
62
63
64 // Workarounds are enabled, exceptions are disabled.
65 #define RT_LIB_NAME(x) lib ## x ## y.dlb
66 #define RT_LIB_NAME_EH(x) lib ## x ## y.dlb
67 #define RT_LIB_NAME_MT(x) lib ## x ## y.dlb
68 #define RT_LIB_NAME_EH_MT(x) lib ## x ## y.dlb
69 #define RT_OBJ_NAME(x) x ## y.doj
70 #define RT_OBJ_NAME_MT(x) x ## mty.doj
71
72
73 $LIBRARIES = 
74
75 /*$VDSG<insert-user-libraries-at-beginning>                     */
76 /* Text inserted between these $VDSG comments will be preserved */
77 /*$VDSG<insert-user-libraries-at-beginning>                     */
78
79    RT_LIB_NAME_MT(small532)
80    ,RT_LIB_NAME_MT(io532)
81    ,RT_LIB_NAME_MT(c532)
82    ,RT_LIB_NAME_MT(event532)
83    ,RT_LIB_NAME(ssl592-a)
84    ,RT_LIB_NAME(drv592-a)
85    ,RT_LIB_NAME_MT(x532)
86    ,RT_LIB_NAME_EH_MT(cpp532)
87    ,RT_LIB_NAME(f64ieee532)
88    ,RT_LIB_NAME(dsp532)
89    ,RT_LIB_NAME(sftflt532)
90    ,RT_LIB_NAME(etsi532)
91    ,RT_OBJ_NAME_MT(idle532)
92    ,RT_LIB_NAME_MT(rt_fileio532)
93
94 /*$VDSG<insert-user-libraries-at-end>                           */
95 /* Text inserted between these $VDSG comments will be preserved */
96 /*$VDSG<insert-user-libraries-at-end>                           */
97
98    ;
99
100 $OBJECTS = 
101
102 /*$VDSG<insert-user-objects-at-beginning>                       */
103 /* Text inserted between these $VDSG comments will be preserved */
104 /*$VDSG<insert-user-objects-at-beginning>                       */
105
106      $COMMAND_LINE_OBJECTS
107    , RT_LIB_NAME(profile532)
108 #if !defined(NO_UTILITY_ROM)
109    , romdata-BF592-A.doj
110 #endif
111    , $COMMAND_LINE_OBJECTS
112    , "cplbtab592-a.doj"
113
114 /*$VDSG<insert-user-objects-at-end>                             */
115 /* Text inserted between these $VDSG comments will be preserved */
116 /*$VDSG<insert-user-objects-at-end>                             */
117
118    , RT_OBJ_NAME(crtn532)
119    ;
120
121 $OBJS_LIBS_INTERNAL = 
122
123 /*$VDSG<insert-libraries-internal>                              */
124 /* Text inserted between these $VDSG comments will be preserved */
125 /*$VDSG<insert-libraries-internal>                              */
126
127    $OBJECTS{prefersMem("internal")}, $LIBRARIES{prefersMem("internal")}
128
129 /*$VDSG<insert-libraries-internal-end>                          */
130 /* Text inserted between these $VDSG comments will be preserved */
131 /*$VDSG<insert-libraries-internal-end>                          */
132
133    ;
134
135 $OBJS_LIBS_NOT_EXTERNAL = 
136
137 /*$VDSG<insert-libraries-not-external>                          */
138 /* Text inserted between these $VDSG comments will be preserved */
139 /*$VDSG<insert-libraries-not-external>                          */
140
141    $OBJECTS{!prefersMem("external")}, $LIBRARIES{!prefersMem("external")}
142
143 /*$VDSG<insert-libraries-not-external-end>                      */
144 /* Text inserted between these $VDSG comments will be preserved */
145 /*$VDSG<insert-libraries-not-external-end>                      */
146
147    ;
148
149
150 /*$VDSG<insert-user-macros>                                     */
151 /* Text inserted between these $VDSG comments will be preserved */
152 /*$VDSG<insert-user-macros>                                     */
153
154
155 MEMORY
156 {
157 /*
158 ** ADSP-BF592-A MEMORY MAP.
159 **
160 ** The known memory spaces are as follows:
161 **
162 ** 0xFFE00000 - 0xFFFFFFFF  Core MMR registers (2MB)
163 ** 0xFFC00000 - 0xFFDFFFFF  System MMR registers (2MB)
164 ** 0xFFB01000 - 0xFFBFFFFF  Reserved
165 ** 0xFFB00000 - 0xFFB00FFF  Scratchpad SRAM (4K)
166 ** 0xFFA20000 - 0xFFAFFFFF  Reserved
167 ** 0xFFA10000 - 0xFFA1FFFF  L1 Instruction ROM (64K)
168 ** 0xFFA08000 - 0xFFA0FFFF  Reserved
169 ** 0xFFA00000 - 0xFFA07FFF  L1 Instruction SRAM (32K)
170 ** 0xFF808000 - 0xFF9FFFFF  Reserved
171 ** 0xFF800000 - 0xFF807FFF  L1 Data SRAM (32K)
172 ** 0xEF001000 - 0xFF7FFFFF  Reserved
173 ** 0xEF000000 - 0xEF000FFF  Boot ROM (4K)
174 ** 0x00000000 - 0xEEFFFFFF  Reserved
175 **
176 ** Notes:
177 ** 0xFF807FEF-0xFF807FFF Required by boot-loader.
178 */
179
180    MEM_L1_SCRATCH          { TYPE(RAM) START(0xFFB00000) END(0xFFB00FFF) WIDTH(8) }
181    MEM_L1_CODE             { TYPE(RAM) START(0xFFA00000) END(0xFFA07FFF) WIDTH(8) }
182    MEM_L1_DATA             { TYPE(RAM) START(0xFF800000) END(0xFF807EAF) WIDTH(8) }
183    MEM_ARGV                { TYPE(RAM) START(0xFF807EB0) END(0xFF807FFF) WIDTH(8) }
184    
185    /*$VDSG<insert-new-memory-segments>                          */
186    /* Text inserted between these $VDSG comments will be preserved */
187    /*$VDSG<insert-new-memory-segments>                          */
188    
189 } /* MEMORY */
190
191 PROCESSOR p0
192 {
193    OUTPUT($COMMAND_LINE_OUTPUT_FILE)
194    RESOLVE(start, 0xFFA00000)
195    RESOLVE(___argv_string, 0xFF807F00)
196    KEEP(start, start)
197    
198    /*$VDSG<insert-user-utility-rom-start>                       */
199    /* Text inserted between these $VDSG comments will be preserved */
200    /*$VDSG<insert-user-utility-rom-start>                       */
201    
202    #if !defined(NO_UTILITY_ROM)
203    #include "ADSP-BF592-A-LDF.h"
204    #endif
205    
206    /*$VDSG<insert-user-utility-rom-end>                         */
207    /* Text inserted between these $VDSG comments will be preserved */
208    /*$VDSG<insert-user-utility-rom-end>                         */
209    
210    
211    /*$VDSG<insert-user-ldf-commands>                            */
212    /* Text inserted between these $VDSG comments will be preserved */
213    /*$VDSG<insert-user-ldf-commands>                            */
214    
215    SECTIONS
216    {
217       /* Workaround for hardware errata 05-00-0189 and 05-00-0310 -
218       ** "Speculative (and fetches made at boundary of reserved memory
219       ** space) for instruction or data fetches may cause false
220       ** protection exceptions" and "False hardware errors caused by
221       ** fetches at the boundary of reserved memory ".
222       **
223       ** Done by avoiding use of 76 bytes from at the end of blocks
224       ** that are adjacent to reserved memory. Workaround is enabled
225       ** for appropriate silicon revisions (-si-revision switch).
226       */
227       RESERVE(___wab0=MEMORY_END(MEM_L1_SCRATCH) - 75, ___l0 = 76)
228       RESERVE(___wab1=MEMORY_END(MEM_L1_CODE) - 75, ___l1 = 76)
229       RESERVE(___wab2=MEMORY_END(MEM_ARGV) - 75, ___l2 = 76)
230       
231       /*$VDSG<insert-new-sections-at-the-start>                 */
232       /* Text inserted between these $VDSG comments will be preserved */
233       /*$VDSG<insert-new-sections-at-the-start>                 */
234       
235       scratchpad NO_INIT
236       {
237          INPUT_SECTION_ALIGN(4)
238          
239          /*$VDSG<insert-input-sections-at-the-start-of-scratchpad>  */
240          /* Text inserted between these $VDSG comments will be preserved */
241          /*$VDSG<insert-input-sections-at-the-start-of-scratchpad>  */
242          
243          INPUT_SECTIONS($OBJECTS(L1_scratchpad) $LIBRARIES(L1_scratchpad))
244          
245          /*$VDSG<insert-input-sections-at-the-end-of-scratchpad>  */
246          /* Text inserted between these $VDSG comments will be preserved */
247          /*$VDSG<insert-input-sections-at-the-end-of-scratchpad>  */
248          
249       } > MEM_L1_SCRATCH
250       
251       L1_code
252       {
253          INPUT_SECTION_ALIGN(4)
254          
255          /*$VDSG<insert-input-sections-at-the-start-of-L1_code>  */
256          /* Text inserted between these $VDSG comments will be preserved */
257          /*$VDSG<insert-input-sections-at-the-start-of-L1_code>  */
258          
259          INPUT_SECTIONS($OBJECTS(L1_code) $LIBRARIES(L1_code))
260          
261          /*$VDSG<insert-input-sections-in-the-middle-of-L1_code>  */
262          /* Text inserted between these $VDSG comments will be preserved */
263          /*$VDSG<insert-input-sections-in-the-middle-of-L1_code>  */
264          
265          INPUT_SECTIONS($OBJECTS(noncache_code) $LIBRARIES(noncache_code))
266          INPUT_SECTIONS($OBJECTS(cplb_code) $LIBRARIES(cplb_code))
267          INPUT_SECTIONS($OBJECTS(cplb) $LIBRARIES(cplb))
268          INPUT_SECTIONS($OBJS_LIBS_INTERNAL(program))
269          INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(program))
270          INPUT_SECTIONS($OBJECTS(program) $LIBRARIES(program))
271          
272          /*$VDSG<insert-input-sections-at-the-end-of-L1_code>   */
273          /* Text inserted between these $VDSG comments will be preserved */
274          /*$VDSG<insert-input-sections-at-the-end-of-L1_code>   */
275          
276       } > MEM_L1_CODE
277       
278       L1_data_1
279       {
280          INPUT_SECTION_ALIGN(4)
281          ___l1_data_cache_a = 0;
282          ___l1_data_cache_b = 0;
283          
284          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_1>  */
285          /* Text inserted between these $VDSG comments will be preserved */
286          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_1>  */
287          
288          INPUT_SECTIONS($OBJECTS(L1_data_a) $LIBRARIES(L1_data_a))
289          INPUT_SECTIONS($OBJECTS(L1_data) $LIBRARIES(L1_data))
290          
291          /*$VDSG<insert-input-sections-at-the-end-of-L1_data_1>  */
292          /* Text inserted between these $VDSG comments will be preserved */
293          /*$VDSG<insert-input-sections-at-the-end-of-L1_data_1>  */
294          
295          RESERVE(heaps_and_stack_in_L1_data, heaps_and_stack_in_L1_data_length = 4096,4)
296       } > MEM_L1_DATA
297       
298       L1_data_bsz ZERO_INIT
299       {
300          INPUT_SECTION_ALIGN(4)
301          
302          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_bsz>  */
303          /* Text inserted between these $VDSG comments will be preserved */
304          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_bsz>  */
305          
306          INPUT_SECTIONS($OBJECTS(L1_bsz) $LIBRARIES(L1_bsz))
307          INPUT_SECTIONS($OBJS_LIBS_INTERNAL(bsz))
308          INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(bsz))
309          INPUT_SECTIONS($OBJECTS(bsz) $LIBRARIES(bsz))
310          
311          /*$VDSG<insert-input-sections-at-the-end-of-L1_data_bsz>  */
312          /* Text inserted between these $VDSG comments will be preserved */
313          /*$VDSG<insert-input-sections-at-the-end-of-L1_data_bsz>  */
314          
315       } > MEM_L1_DATA
316       
317       L1_data_tables
318       {
319          INPUT_SECTION_ALIGN(4)
320          FORCE_CONTIGUITY
321          
322          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_tables>  */
323          /* Text inserted between these $VDSG comments will be preserved */
324          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_tables>  */
325          
326          INPUT_SECTIONS($OBJECTS(ctor) $LIBRARIES(ctor))
327          INPUT_SECTIONS($OBJECTS(ctorl) $LIBRARIES(ctorl))
328          
329          /*$VDSG<insert-input-sections-in-the-middle-of-L1_data_tables>  */
330          /* Text inserted between these $VDSG comments will be preserved */
331          /*$VDSG<insert-input-sections-in-the-middle-of-L1_data_tables>  */
332          
333          INPUT_SECTIONS($OBJECTS(.gdt) $LIBRARIES(.gdt))
334          INPUT_SECTIONS($OBJECTS(.gdtl) $LIBRARIES(.gdtl))
335          INPUT_SECTIONS($OBJECTS(.frt) $LIBRARIES(.frt))
336          
337          /*$VDSG<insert-input-sections-at-the-end-of-L1_data_tables>  */
338          /* Text inserted between these $VDSG comments will be preserved */
339          /*$VDSG<insert-input-sections-at-the-end-of-L1_data_tables>  */
340          
341       } > MEM_L1_DATA
342       
343       L1_data_2
344       {
345          INPUT_SECTION_ALIGN(4)
346          
347          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_2>  */
348          /* Text inserted between these $VDSG comments will be preserved */
349          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_2>  */
350          
351          INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata))
352          INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata))
353          INPUT_SECTIONS($OBJECTS(cplb_data) $LIBRARIES(cplb_data))
354          INPUT_SECTIONS($OBJS_LIBS_INTERNAL(data1))
355          INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL(data1))
356          INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1))
357          
358          /*$VDSG<insert-input-sections-at-the-end-of-L1_data_2>  */
359          /* Text inserted between these $VDSG comments will be preserved */
360          /*$VDSG<insert-input-sections-at-the-end-of-L1_data_2>  */
361          
362       } > MEM_L1_DATA
363       
364       L1_data_3
365       {
366          INPUT_SECTION_ALIGN(4)
367          
368          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_3>  */
369          /* Text inserted between these $VDSG comments will be preserved */
370          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_3>  */
371          
372          INPUT_SECTIONS($OBJECTS(vtbl) $LIBRARIES(vtbl))
373          INPUT_SECTIONS($OBJECTS(.rtti) $LIBRARIES(.rtti))
374          INPUT_SECTIONS($OBJECTS(.edt) $LIBRARIES(.edt))
375          INPUT_SECTIONS($OBJECTS(.cht) $LIBRARIES(.cht))
376          
377          /*$VDSG<insert-input-sections-at-the-end-of-L1_data_3>  */
378          /* Text inserted between these $VDSG comments will be preserved */
379          /*$VDSG<insert-input-sections-at-the-end-of-L1_data_3>  */
380          
381       } > MEM_L1_DATA
382       
383       L1_data_stack_heap
384       {
385          INPUT_SECTION_ALIGN(4)
386          
387          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_stack_heap>  */
388          /* Text inserted between these $VDSG comments will be preserved */
389          /*$VDSG<insert-input-sections-at-the-start-of-L1_data_stack_heap>  */
390          
391          RESERVE_EXPAND(heaps_and_stack_in_L1_data, heaps_and_stack_in_L1_data_length , 0, 4)
392          ldf_stack_space = heaps_and_stack_in_L1_data;
393          ldf_stack_end = (ldf_stack_space + (((heaps_and_stack_in_L1_data_length * 2048) / 4096) - 4)) & 0xfffffffc;
394          ldf_heap_space = ldf_stack_end + 4;
395          ldf_heap_end = (ldf_heap_space + (((heaps_and_stack_in_L1_data_length * 2048) / 4096) - 4)) & 0xfffffffc;
396          ldf_heap_length = ldf_heap_end - ldf_heap_space;
397       } > MEM_L1_DATA
398       
399       
400       /*$VDSG<insert-new-sections-at-the-end>                   */
401       /* Text inserted between these $VDSG comments will be preserved */
402       /*$VDSG<insert-new-sections-at-the-end>                   */
403       
404    } /* SECTIONS */
405 } /* p0 */
406