]> begriffs open source - cmsis-freertos/blob - Demo/TriCore_TC1782_TriBoard_GCC/ld/iRAM.ld
Initial commit
[cmsis-freertos] / Demo / TriCore_TC1782_TriBoard_GCC / ld / iRAM.ld
1
2 /*
3  * Name: iRAM.ld 
4  * 
5  * Generated Linker Description File
6  * Copyright (C) 2010 HighTec EDV-Systeme GmbH. 
7  * (!Do not edit outsite of the protection areas!)
8  *
9  * Description: 
10  * internal RAM configuration
11  */
12
13 /*
14  * Define Entrypoint of Executable
15  */
16 ENTRY(_start)
17
18 /*
19  * Global
20  */
21 /*Program Flash Memory (PFLASH)*/ 
22 __PMU_PFLASH_BEGIN = 0x80000000;
23 __PMU_PFLASH_SIZE = 2560K;
24 /*Data Flash Memory (DFLASH0)*/ 
25 __PMU_DFLASH0_BEGIN = 0xAFE00000;
26 __PMU_DFLASH0_SIZE = 64K;
27 /*Data Flash Memory (DFLASH1)*/ 
28 __PMU_DFLASH1_BEGIN = 0xAFE10000;
29 __PMU_DFLASH1_SIZE = 64K;
30 /*Boot ROM (BROM)*/ 
31 __BROM_BEGIN = 0xAFFFC000;
32 __BROM_SIZE = 16K;
33 /*Scratch-Pad RAM (SPRAM)*/ 
34 __PMI_SPRAM_BEGIN = 0xC0000000;
35 __PMI_SPRAM_SIZE = 40K;
36 /*Local Data RAM (LDRAM)*/ 
37 __DMI_LDRAM_BEGIN = 0xD0000000;
38 __DMI_LDRAM_SIZE = 128K;
39 /*PCP Code Memory (CMEM)*/ 
40 __PCP_CMEM_BEGIN = 0xF0060000;
41 __PCP_CMEM_SIZE = 32K;
42 /*PCP Data Memory (PRAM)*/ 
43 __PCP_PRAM_BEGIN = 0xF0050000;
44 __PCP_PRAM_SIZE = 16K;
45
46 __ISTACK_SIZE = DEFINED (__ISTACK_SIZE) ? __ISTACK_SIZE : 256;
47 __USTACK_SIZE = DEFINED (__USTACK_SIZE) ? __USTACK_SIZE : 1K;
48 __HEAP_SIZE = DEFINED (__HEAP_SIZE) ? __HEAP_SIZE : 4K ;
49 __CSA_SIZE = DEFINED (__CSA_SIZE) ? __CSA_SIZE : 16K ;
50
51 /**
52  *      User defined global region
53  */
54 /*PROTECTED REGION ID(Protection:iRAM-Global) ENABLED START*/
55 /*Protection-Area for your own LDF-Code*/
56 /*PROTECTED REGION END*/
57
58 /*
59  * internal RAM configuration
60  */
61 MEMORY
62 {
63         PMU_PFLASH (rx!p):      org = 0x80000000, len = 2560K  /*Program Flash Memory (PFLASH)*/ 
64         PMU_DFLASH0 (r!xp):     org = 0xAFE00000, len = 64K  /*Data Flash Memory (DFLASH0)*/ 
65         PMU_DFLASH1 (r!xp):     org = 0xAFE10000, len = 64K  /*Data Flash Memory (DFLASH1)*/ 
66         BROM (rx!p):    org = 0xAFFFC000, len = 16K  /*Boot ROM (BROM)*/ 
67         PMI_SPRAM (wx!p):       org = 0xC0000000, len = 40K  /*Scratch-Pad RAM (SPRAM)*/ 
68         DMI_LDRAM (w!xp):       org = 0xD0000000, len = 128K  /*Local Data RAM (LDRAM)*/ 
69         PCP_CMEM (rxp): org = 0xF0060000, len = 32K  /*PCP Code Memory (CMEM)*/ 
70         PCP_PRAM (wp!x):        org = 0xF0050000, len = 16K  /*PCP Data Memory (PRAM)*/ 
71         
72 }                       
73
74 SECTIONS
75 {
76         /*Code-Sections*/
77          
78          /*
79           * Startup code for TriCore
80           */
81          .startup_code  :
82          {
83                 PROVIDE(__startup_code_start = .);
84                 
85                 /*PROTECTED REGION ID(Protection: iRAM .startup_code.begin) ENABLED START*/
86                         /*Protection-Area for your own LDF-Code*/
87                 /*PROTECTED REGION END*/
88                 
89                 *(.startup_code) /*Startup code for TriCore*/ 
90                 *(.startup_code*)
91                 
92                 /*PROTECTED REGION ID(Protection: iRAM .startup_code) ENABLED START*/
93                         /*Protection-Area for your own LDF-Code*/
94                 /*PROTECTED REGION END*/
95                 
96                 PROVIDE(__startup_code_end = .);
97                 . = ALIGN(8);
98                 
99          } > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
100          
101          /*
102           * Code section
103           */
104          .text  :
105          {
106                 PROVIDE(__text_start = .);
107                 
108                 /*PROTECTED REGION ID(Protection: iRAM .text.begin) ENABLED START*/
109                         /*Protection-Area for your own LDF-Code*/
110                 /*PROTECTED REGION END*/
111                 
112                 *(.text) /*Code section*/ 
113                 *(.text*)
114                 *(.gnu.linkonce.t.*)
115                 
116                 /*PROTECTED REGION ID(Protection: iRAM .text) ENABLED START*/
117                         /*Protection-Area for your own LDF-Code*/
118                 /*PROTECTED REGION END*/
119                 
120                 PROVIDE(__text_end = .);
121                 . = ALIGN(8);
122                 
123          } > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
124          
125          /*
126           * Code executed before calling main
127           */
128          .init  :
129          {
130                 PROVIDE(__init_start = .);
131                 
132                 /*PROTECTED REGION ID(Protection: iRAM .init.begin) ENABLED START*/
133                         /*Protection-Area for your own LDF-Code*/
134                 /*PROTECTED REGION END*/
135                 
136                 KEEP(*(.init)) /*Code executed before calling main*/ 
137                 KEEP(*(.init*))
138                 
139                 /*PROTECTED REGION ID(Protection: iRAM .init) ENABLED START*/
140                         /*Protection-Area for your own LDF-Code*/
141                 /*PROTECTED REGION END*/
142                 
143                 PROVIDE(__init_end = .);
144                 . = ALIGN(8);
145                 
146          } > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
147          
148          /*
149           * Code executed before exiting program
150           */
151          .fini  :
152          {
153                 PROVIDE(__fini_start = .);
154                 
155                 /*PROTECTED REGION ID(Protection: iRAM .fini.begin) ENABLED START*/
156                         /*Protection-Area for your own LDF-Code*/
157                 /*PROTECTED REGION END*/
158                 
159                 KEEP(*(.fini)) /*Code executed before exiting program*/ 
160                 KEEP(*(.fini*))
161                 
162                 /*PROTECTED REGION ID(Protection: iRAM .fini) ENABLED START*/
163                         /*Protection-Area for your own LDF-Code*/
164                 /*PROTECTED REGION END*/
165                 
166                 PROVIDE(__fini_end = .);
167                 . = ALIGN(8);
168                 
169          } > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
170          
171          /*
172           * Section for trap table
173           */
174          .traptab  :
175          {
176                 PROVIDE(__traptab_start = .);
177                 
178                 /*PROTECTED REGION ID(Protection: iRAM .traptab.begin) ENABLED START*/
179                         /*Protection-Area for your own LDF-Code*/
180                 /*PROTECTED REGION END*/
181                 
182                 *(.traptab) /*Section for trap table*/ 
183                 *(.traptab*)
184                 
185                 /*PROTECTED REGION ID(Protection: iRAM .traptab) ENABLED START*/
186                         /*Protection-Area for your own LDF-Code*/
187                 /*PROTECTED REGION END*/
188                 
189                 PROVIDE(__traptab_end = .);
190                 . = ALIGN(8);
191                 
192          } > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
193          
194          /*
195           * Section for interrupt table
196           */
197          .inttab  :
198          {
199                 PROVIDE(__inttab_start = .);
200                 
201                 /*PROTECTED REGION ID(Protection: iRAM .inttab.begin) ENABLED START*/
202                         /*Protection-Area for your own LDF-Code*/
203                 /*PROTECTED REGION END*/
204                 
205                 *(.inttab) /*Section for interrupt table*/ 
206                 *(.inttab*)
207                 
208                 /*PROTECTED REGION ID(Protection: iRAM .inttab) ENABLED START*/
209                         /*Protection-Area for your own LDF-Code*/
210                 /*PROTECTED REGION END*/
211                 
212                 PROVIDE(__inttab_end = .);
213                 . = ALIGN(8);
214                 
215          } > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
216          
217          /*
218           * Exception handling frame for C++ exceptions
219           */
220          .eh_frame  :
221          {
222                 PROVIDE(__eh_frame_start = .);
223                 
224                 /*PROTECTED REGION ID(Protection: iRAM .eh_frame.begin) ENABLED START*/
225                         /*Protection-Area for your own LDF-Code*/
226                 /*PROTECTED REGION END*/
227                 
228                 *(.eh_frame) /*Exception handling frame for C++ exceptions*/ 
229                 *(.eh_frame*)
230                 
231                 /*PROTECTED REGION ID(Protection: iRAM .eh_frame) ENABLED START*/
232                         /*Protection-Area for your own LDF-Code*/
233                 /*PROTECTED REGION END*/
234                 
235                 PROVIDE(__eh_frame_end = .);
236                 . = ALIGN(8);
237                 
238          } > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
239          
240          /*
241           * Section for constructors
242           */
243          .ctors  :
244          {
245                 PROVIDE(__ctors_start = .);
246                 
247                 /*PROTECTED REGION ID(Protection: iRAM .ctors.begin) ENABLED START*/
248                         /*Protection-Area for your own LDF-Code*/
249                 /*PROTECTED REGION END*/
250                 
251                 KEEP(*(.ctors)) /*Section for constructors*/ 
252                 KEEP(*(.ctors*))
253                 
254                 /*PROTECTED REGION ID(Protection: iRAM .ctors) ENABLED START*/
255                         /*Protection-Area for your own LDF-Code*/
256                 /*PROTECTED REGION END*/
257                 
258                 PROVIDE(__ctors_end = .);
259                 . = ALIGN(8);
260                 
261          } > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
262          
263          /*
264           * Section for destructors
265           */
266          .dtors  :
267          {
268                 PROVIDE(__dtors_start = .);
269                 
270                 /*PROTECTED REGION ID(Protection: iRAM .dtors.begin) ENABLED START*/
271                         /*Protection-Area for your own LDF-Code*/
272                 /*PROTECTED REGION END*/
273                 
274                 KEEP(*(.dtors)) /*Section for destructors*/ 
275                 KEEP(*(.dtors*))
276                 
277                 /*PROTECTED REGION ID(Protection: iRAM .dtors) ENABLED START*/
278                         /*Protection-Area for your own LDF-Code*/
279                 /*PROTECTED REGION END*/
280                 
281                 PROVIDE(__dtors_end = .);
282                 . = ALIGN(8);
283                 
284          } > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
285          
286
287         /*Absolute Data-Sections*/
288          
289          /*
290           * Initialised data addressed as absolute
291           */
292          .zdata  :
293          {
294                 PROVIDE(__zdata_start = .);
295                 
296                 /*PROTECTED REGION ID(Protection: iRAM .zdata.begin) ENABLED START*/
297                         /*Protection-Area for your own LDF-Code*/
298                 /*PROTECTED REGION END*/
299                 
300                 *(.zdata) /*Initialised data addressed as absolute*/ 
301                 *(.zdata*)
302                 *(.gnu.linkonce.z.*)
303                 *(.gnu.linkonce.zr.*)
304                 
305                 /*PROTECTED REGION ID(Protection: iRAM .zdata) ENABLED START*/
306                         /*Protection-Area for your own LDF-Code*/
307                 /*PROTECTED REGION END*/
308
309                 PROVIDE(__zdata_end = .);
310                 . = ALIGN(8);
311                 
312          } > DMI_LDRAM AT > PMI_SPRAM /* DMI_LDRAM: Local Data RAM (LDRAM) */ /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
313          
314          /*
315           * Not initialised data addressed as absolute
316           */
317          .zbss (NOLOAD) :
318          {
319                 PROVIDE(__zbss_start = .);
320                 
321                 /*PROTECTED REGION ID(Protection: iRAM .zbss.begin) ENABLED START*/
322                         /*Protection-Area for your own LDF-Code*/
323                 /*PROTECTED REGION END*/
324                 
325                 *(.zbss) /*Not Initialised data addressed as absolute*/ 
326                 *(.zbss*)
327                 *(.gnu.linkonce.zb.*)
328                 
329                 /*PROTECTED REGION ID(Protection: iRAM .zbss) ENABLED START*/
330                         /*Protection-Area for your own LDF-Code*/
331                 /*PROTECTED REGION END*/
332
333                 PROVIDE(__zbss_end = .);
334                 . = ALIGN(8);
335                 
336          } > DMI_LDRAM /* DMI_LDRAM: Local Data RAM (LDRAM) */ 
337          
338          /*
339           * Not initialised bit data
340           */
341          .bbss (NOLOAD) :
342          {
343                 PROVIDE(__bbss_start = .);
344                 
345                 /*PROTECTED REGION ID(Protection: iRAM .bbss.begin) ENABLED START*/
346                         /*Protection-Area for your own LDF-Code*/
347                 /*PROTECTED REGION END*/
348                 
349                 *(.bbss) /*Not initialised bit data*/ 
350                 *(.bbss*)
351                 
352                 /*PROTECTED REGION ID(Protection: iRAM .bbss) ENABLED START*/
353                         /*Protection-Area for your own LDF-Code*/
354                 /*PROTECTED REGION END*/
355
356                 PROVIDE(__bbss_end = .);
357                 . = ALIGN(8);
358                 
359          } > DMI_LDRAM /* DMI_LDRAM: Local Data RAM (LDRAM) */ 
360          
361          /*
362           * Bit variables
363           */
364          .bdata  :
365          {
366                 PROVIDE(__bdata_start = .);
367                 
368                 /*PROTECTED REGION ID(Protection: iRAM .bdata.begin) ENABLED START*/
369                         /*Protection-Area for your own LDF-Code*/
370                 /*PROTECTED REGION END*/
371                 
372                 *(.bdata) /*Bit variables*/ 
373                 *(.bdata*)
374                 
375                 /*PROTECTED REGION ID(Protection: iRAM .bdata) ENABLED START*/
376                         /*Protection-Area for your own LDF-Code*/
377                 /*PROTECTED REGION END*/
378
379                 PROVIDE(__bdata_end = .);
380                 . = ALIGN(8);
381                 
382          } > DMI_LDRAM /* DMI_LDRAM: Local Data RAM (LDRAM) */ 
383          
384
385         /*Small Data-Sections*/
386          
387          /*
388           * Storage of write-protected data addressed as small
389           */
390          .sdata2  :
391          {
392                 PROVIDE(__sdata2_start = .);
393                 
394                 /*PROTECTED REGION ID(Protection: iRAM .sdata2.begin) ENABLED START*/
395                         /*Protection-Area for your own LDF-Code*/
396                 /*PROTECTED REGION END*/
397                 
398                 *(.sdata.rodata) /*Storage of write-protected data addressed as small*/ 
399                 *(.sdata.rodata*)
400                 *(.gnu.linkonce.sr.*)
401                 
402                 /*PROTECTED REGION ID(Protection: iRAM .sdata2) ENABLED START*/
403                         /*Protection-Area for your own LDF-Code*/
404                 /*PROTECTED REGION END*/
405                 
406                 PROVIDE(__sdata2_end = .);
407                 . = ALIGN(8);
408                 
409          } > PMI_SPRAM AT > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
410          
411          /*
412           * Section stores initialised data which is addressable by small data area pointer (%a0)
413           */
414          .sdata  :
415          {
416                 PROVIDE(__sdata_start = .);
417                 
418                 /*PROTECTED REGION ID(Protection: iRAM .sdata.begin) ENABLED START*/
419                         /*Protection-Area for your own LDF-Code*/
420                 /*PROTECTED REGION END*/
421                 
422                 *(.sdata) /*Section stores initialised data which is addressable by small data area pointer (%a0)*/ 
423                 *(.sdata*)
424                  *(.gnu.linkonce.s.*)
425                 
426                 /*PROTECTED REGION ID(Protection: iRAM .sdata) ENABLED START*/
427                         /*Protection-Area for your own LDF-Code*/
428                 /*PROTECTED REGION END*/
429                 
430                 PROVIDE(__sdata_end = .);
431                 . = ALIGN(8);
432                 
433          } > DMI_LDRAM AT > PMI_SPRAM /* DMI_LDRAM: Local Data RAM (LDRAM) */ /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
434          
435          /*
436           * Not initialised data in section ’.sbss’, addressable by small data area pointer (%a0)
437           */
438          .sbss (NOLOAD) :
439          {
440                 PROVIDE(__sbss_start = .);
441                 
442                 /*PROTECTED REGION ID(Protection: iRAM .sbss.begin) ENABLED START*/
443                         /*Protection-Area for your own LDF-Code*/
444                 /*PROTECTED REGION END*/
445                 
446                 *(.sbss) /*Not initialised data in section ’.sbss’, addressable by small data area pointer (%a0)*/ 
447                 *(.sbss*)
448                 *(.gnu.linkonce.sb.*)
449                 
450                 /*PROTECTED REGION ID(Protection: iRAM .sbss) ENABLED START*/
451                         /*Protection-Area for your own LDF-Code*/
452                 /*PROTECTED REGION END*/
453                 
454                 PROVIDE(__sbss_end = .);
455                 . = ALIGN(8);
456                 
457          } > DMI_LDRAM /* DMI_LDRAM: Local Data RAM (LDRAM) */ 
458          
459
460         /*Normal Data-Sections*/
461          
462          /*
463           * Storage of write-protected data
464           */
465          .rodata  :
466          {
467                 PROVIDE(__rodata_start = .);
468                 
469                 /*PROTECTED REGION ID(Protection: iRAM .rodata.begin) ENABLED START*/
470                         /*Protection-Area for your own LDF-Code*/
471                 /*PROTECTED REGION END*/
472                 
473                 *(.rodata) /*Storage of write-protected data*/ 
474                 *(.rodata*)
475                 *(.gnu.linkonce.r.*)
476                 *(.jcr.*)
477                 
478                 /*PROTECTED REGION ID(Protection: iRAM .rodata) ENABLED START*/
479                         /*Protection-Area for your own LDF-Code*/
480                 /*PROTECTED REGION END*/
481                 
482                 PROVIDE(__rodata_end = .);
483                 . = ALIGN(8);
484                 
485          } > PMI_SPRAM /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
486          
487          /*
488           * Initialised data
489           */
490          .data  :
491          {
492                 PROVIDE(__data_start = .);
493                 
494                 /*PROTECTED REGION ID(Protection: iRAM .data.begin) ENABLED START*/
495                         /*Protection-Area for your own LDF-Code*/
496                 /*PROTECTED REGION END*/
497                 
498                 *(.data) /*Initialised data*/ 
499                 *(.data*)
500                 *(.gnu.linkonce.d.*)
501                 
502                 /*PROTECTED REGION ID(Protection: iRAM .data) ENABLED START*/
503                         /*Protection-Area for your own LDF-Code*/
504                 /*PROTECTED REGION END*/
505                 
506                 PROVIDE(__data_end = .);
507                 . = ALIGN(8);
508                 
509          } > DMI_LDRAM AT > PMI_SPRAM /* DMI_LDRAM: Local Data RAM (LDRAM) */ /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
510          
511          /*
512           * Not Initialised data
513           */
514          .bss (NOLOAD) :
515          {
516                 PROVIDE(__bss_start = .);
517                 
518                 /*PROTECTED REGION ID(Protection: iRAM .bss.begin) ENABLED START*/
519                         /*Protection-Area for your own LDF-Code*/
520                 /*PROTECTED REGION END*/
521                 
522                 *(.bss) /*Not Initialised data*/ 
523                 *(.bss*)
524                 *(.gnu.linkonce.b.*)
525                 
526                 /*PROTECTED REGION ID(Protection: iRAM .bss) ENABLED START*/
527                         /*Protection-Area for your own LDF-Code*/
528                 /*PROTECTED REGION END*/
529                 
530                 PROVIDE(__bss_end = .);
531                 . = ALIGN(8);
532                 
533          } > DMI_LDRAM /* DMI_LDRAM: Local Data RAM (LDRAM) */ 
534          
535         
536
537         /*PCP-Sections*/
538          
539          /*
540           * PCP Code Section
541           */
542          .pcptext  :
543          {
544                 PROVIDE(__pcptext_start = .);
545                 
546                 /*PROTECTED REGION ID(Protection: iRAM .pcptext.begin) ENABLED START*/
547                         /*Protection-Area for your own LDF-Code*/
548                 /*PROTECTED REGION END*/
549                 
550                 KEEP(*(.pcptext)) /*PCP Code Section*/ 
551                 KEEP(*(.pcptext*))
552                 
553                 /*PROTECTED REGION ID(Protection: iRAM .pcptext) ENABLED START*/
554                         /*Protection-Area for your own LDF-Code*/
555                 /*PROTECTED REGION END*/
556                 
557                 PROVIDE(__pcptext_end = .);
558                 . = ALIGN(8);
559                 
560          } > PCP_CMEM AT > PMI_SPRAM /* PCP_CMEM: PCP Code Memory (CMEM) */ /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
561          
562          /*
563           * PCP Data Section
564           */
565          .pcpdata  :
566          {
567                 PROVIDE(__pcpdata_start = .);
568                 
569                 /*PROTECTED REGION ID(Protection: iRAM .pcpdata.begin) ENABLED START*/
570                         /*Protection-Area for your own LDF-Code*/
571                 /*PROTECTED REGION END*/
572                 
573                 KEEP(*(.pcpdata)) /*PCP Data Section*/ 
574                 KEEP(*(.pcpdata*))
575                 
576                 /*PROTECTED REGION ID(Protection: iRAM .pcpdata) ENABLED START*/
577                         /*Protection-Area for your own LDF-Code*/
578                 /*PROTECTED REGION END*/
579                 
580                 PROVIDE(__pcpdata_end = .);
581                 . = ALIGN(8);
582                 
583          } > PCP_PRAM AT > PMI_SPRAM /* PCP_PRAM: PCP Data Memory (PRAM) */ /* PMI_SPRAM: Scratch-Pad RAM (SPRAM) */ 
584          
585
586          
587          
588         .clear_sec :
589         {
590                 . = ALIGN(8);
591                 PROVIDE(__clear_table = .) ;
592         
593                         LONG(0 + ADDR(.bss));   LONG(SIZEOF(.bss));
594                         LONG(0 + ADDR(.sbss));  LONG(SIZEOF(.sbss));
595                         LONG(0 + ADDR(.zbss));  LONG(SIZEOF(.zbss));
596                         LONG(0 + ADDR(.bbss));  LONG(SIZEOF(.bbss));
597                         /*PROTECTED REGION ID(Protection: iRAM clear section) ENABLED START*/
598                                 /*Protection-Area for your own LDF-Code*/
599                         /*PROTECTED REGION END*/
600                         LONG(-1);                 LONG(-1);
601         
602         } > PMI_SPRAM
603          
604         
605         .copy_sec :
606         {
607                 . = ALIGN(8);
608                 PROVIDE(__copy_table = .) ;
609         
610                         LONG(LOADADDR(.data));  LONG(0 + ADDR(.data));  LONG(SIZEOF(.data));
611                         LONG(LOADADDR(.sdata)); LONG(0 + ADDR(.sdata)); LONG(SIZEOF(.sdata));
612                         LONG(LOADADDR(.zdata)); LONG(0 + ADDR(.zdata)); LONG(SIZEOF(.zdata));
613                         LONG(LOADADDR(.pcptext));       LONG(0 + ADDR(.pcptext));       LONG(SIZEOF(.pcptext));
614                         LONG(LOADADDR(.pcpdata));       LONG(0 + ADDR(.pcpdata));       LONG(SIZEOF(.pcpdata));
615         
616                         /*PROTECTED REGION ID(Protection: iRAM copy section) ENABLED START*/
617                                 /*Protection-Area for your own LDF-Code*/
618                         /*PROTECTED REGION END*/
619                         LONG(-1);                 LONG(-1);                  LONG(-1);
620         } > PMI_SPRAM 
621         
622         .csa (NOLOAD) :
623         {
624                  . = ALIGN(64);
625                  __CSA_BEGIN = . ;
626                  . += __CSA_SIZE;
627                  . = ALIGN(64);
628                  __CSA_END = .;
629         } > DMI_LDRAM
630         
631         .heap (NOLOAD) :
632         {
633                 . =  ALIGN(8);
634                 __HEAP = .;
635                 . += __HEAP_SIZE;
636                 __HEAP_END = .;
637         } > DMI_LDRAM
638         
639         .istack (NOLOAD) :
640         {
641                 . =  ALIGN(8);
642                 . += __ISTACK_SIZE;
643                 __ISTACK = .;
644         } > DMI_LDRAM
645         
646         .ustack (NOLOAD) :
647         {
648                 . =  ALIGN(8);
649                 . += __USTACK_SIZE;
650                 __USTACK = .;
651         } > DMI_LDRAM
652         
653         /*PROTECTED REGION ID(Protection:iRAM-User-Sections) ENABLED START*/
654         /*Protection-Area for your own LDF-Code*/
655         /*PROTECTED REGION END*/
656         
657 }
658