OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [ARM7_STR75x_GCC/] [SystemFiles/] [sections_FLASH_FreeRTOS.ld] - Blame information for rev 584

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 577 jeremybenn
/*
2
Common part of the linker scripts for STR71x devices in FLASH mode
3
(that is, the FLASH is seen at 0)
4
Copyright RAISONANCE 2005
5
You can use, modify and distribute thisfile freely, but without any waranty.
6
*/
7
 
8
 
9
 
10
/* Sections Definitions */
11
 
12
SECTIONS
13
{
14
    /* the beginning of the startup code is stored in the .flashtext section, which goes to FLASH */
15
    .flashtext :
16
    {
17
        . = ALIGN(4);
18
        *(.flashtext)            /* Startup code */
19
        . = ALIGN(4);
20
    } >FLASH
21
 
22
 
23
    /* the program code is stored in the .text section, which goes to Flash */
24
    .text :
25
    {
26
            . = ALIGN(4);
27
 
28
        *(.text)                   /* remaining code */
29
        *(.rodata)                 /* read-only data (constants) */
30
        *(.rodata*)
31
        *(.glue_7)
32
        *(.glue_7t)
33
 
34
            . = ALIGN(4);
35
         _etext = .;
36
            /* This is used by the startup in order to initialize the .data secion */
37
         _sidata = _etext;
38
    } >FLASH
39
 
40
 
41
 
42
    /* This is the initialized data section
43
    The program executes knowing that the data is in the RAM
44
    but the loader puts the initial values in the FLASH (inidata).
45
    It is one task of the startup to copy the initial values from FLASH to RAM. */
46
    .data  : AT ( _sidata )
47
    {
48
            . = ALIGN(4);
49
        /* This is used by the startup in order to initialize the .data secion */
50
        _sdata = . ;
51
 
52
        *(.data)
53
 
54
            . = ALIGN(4);
55
            /* This is used by the startup in order to initialize the .data secion */
56
         _edata = . ;
57
    } >RAM
58
 
59
 
60
 
61
    /* This is the uninitialized data section */
62
    .bss :
63
    {
64
            . = ALIGN(4);
65
        /* This is used by the startup in order to initialize the .bss secion */
66
        _sbss = .;
67
 
68
        *(.bss)
69
        *(COMMON)
70
 
71
            . = ALIGN(4);
72
            /* This is used by the startup in order to initialize the .bss secion */
73
         _ebss = . ;
74
    } >RAM
75
 
76
    PROVIDE ( end = _ebss );
77
    PROVIDE ( _end = _ebss );
78
 
79
    /* This is the user stack section
80
    This is just to check that there is enough RAM left for the User mode stack
81
    It should generate an error if it's full.
82
     */
83
    ._usrstack :
84
    {
85
            . = ALIGN(4);
86
        _susrstack = . ;
87
 
88
        . = . + _Minimum_Stack_Size ;
89
 
90
            . = ALIGN(4);
91
        _eusrstack = . ;
92
    } >RAM
93
 
94
 
95
 
96
    /* this is the FLASH Bank1 */
97
    /* the C or assembly source must explicitly place the code or data there
98
    using the "section" attribute */
99
    .b1text :
100
    {
101
        *(.b1text)                   /* remaining code */
102
        *(.b1rodata)                 /* read-only data (constants) */
103
        *(.b1rodata*)
104
    } >FLASHB1
105
 
106
    /* this is the EXTMEM */
107
    /* the C or assembly source must explicitly place the code or data there
108
    using the "section" attribute */
109
 
110
    /* EXTMEM Bank0 */
111
    .eb0text :
112
    {
113
        *(.eb0text)                   /* remaining code */
114
        *(.eb0rodata)                 /* read-only data (constants) */
115
        *(.eb0rodata*)
116
    } >EXTMEMB0
117
 
118
    /* EXTMEM Bank1 */
119
    .eb1text :
120
    {
121
        *(.eb1text)                   /* remaining code */
122
        *(.eb1rodata)                 /* read-only data (constants) */
123
        *(.eb1rodata*)
124
    } >EXTMEMB1
125
 
126
    /* EXTMEM Bank2 */
127
    .eb2text :
128
    {
129
        *(.eb2text)                   /* remaining code */
130
        *(.eb2rodata)                 /* read-only data (constants) */
131
        *(.eb2rodata*)
132
    } >EXTMEMB2
133
 
134
    /* EXTMEM Bank0 */
135
    .eb3text :
136
    {
137
        *(.eb3text)                   /* remaining code */
138
        *(.eb3rodata)                 /* read-only data (constants) */
139
        *(.eb3rodata*)
140
    } >EXTMEMB3
141
 
142
 
143
 
144
    /* after that it's only debugging information. */
145
 
146
    /* remove the debugging information from the standard libraries */
147
    DISCARD :
148
    {
149
     libc.a ( * )
150
     libm.a ( * )
151
     libgcc.a ( * )
152
     }
153
 
154
    /* Stabs debugging sections.  */
155
    .stab          0 : { *(.stab) }
156
    .stabstr       0 : { *(.stabstr) }
157
    .stab.excl     0 : { *(.stab.excl) }
158
    .stab.exclstr  0 : { *(.stab.exclstr) }
159
    .stab.index    0 : { *(.stab.index) }
160
    .stab.indexstr 0 : { *(.stab.indexstr) }
161
    .comment       0 : { *(.comment) }
162
    /* DWARF debug sections.
163
       Symbols in the DWARF debugging sections are relative to the beginning
164
       of the section so we begin them at 0.  */
165
    /* DWARF 1 */
166
    .debug          0 : { *(.debug) }
167
    .line           0 : { *(.line) }
168
    /* GNU DWARF 1 extensions */
169
    .debug_srcinfo  0 : { *(.debug_srcinfo) }
170
    .debug_sfnames  0 : { *(.debug_sfnames) }
171
    /* DWARF 1.1 and DWARF 2 */
172
    .debug_aranges  0 : { *(.debug_aranges) }
173
    .debug_pubnames 0 : { *(.debug_pubnames) }
174
    /* DWARF 2 */
175
    .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
176
    .debug_abbrev   0 : { *(.debug_abbrev) }
177
    .debug_line     0 : { *(.debug_line) }
178
    .debug_frame    0 : { *(.debug_frame) }
179
    .debug_str      0 : { *(.debug_str) }
180
    .debug_loc      0 : { *(.debug_loc) }
181
    .debug_macinfo  0 : { *(.debug_macinfo) }
182
    /* SGI/MIPS DWARF 2 extensions */
183
    .debug_weaknames 0 : { *(.debug_weaknames) }
184
    .debug_funcnames 0 : { *(.debug_funcnames) }
185
    .debug_typenames 0 : { *(.debug_typenames) }
186
    .debug_varnames  0 : { *(.debug_varnames) }
187
}
188
 
189
 
190
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.