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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [lib/] [libbsp/] [m68k/] [gen68360/] [startup/] [linkcmds.bootp] - Blame information for rev 173

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/*
2
 * This file contains GNU linker directives for a generic MC68360 board.
3
 * Variations in memory size and allocation can be made by
4
 * overriding some values with linker command-line arguments.
5
 *
6
 * These linker directives are for producing a bootstrap PROM version.
7
 * The data segment is placed at the end of the text segment in the PROM.
8
 * The start-up code takes care of copying this region to RAM.
9
 *
10
 * Saskatchewan Accelerator Laboratory
11
 * University of Saskatchewan
12
 * Saskatoon, Saskatchewan, CANADA
13
 * eric@skatter.usask.ca
14
 *
15
 *  $Id: linkcmds.bootp,v 1.2 2001-09-27 12:00:08 chris Exp $
16
 */
17
 
18
/*
19
 * Declare some sizes.
20
 * A heap size of 0 means `use all available memory for the heap'.
21
 */
22
_RamBase = DEFINED(_RamBase) ? _RamBase : 0x0;
23
_RamSize = DEFINED(_RamSize) ? _RamSize : 64M;
24
_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
25
_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
26
 
27
/*
28
 * Declare on-board memory.
29
 */
30
MEMORY {
31
          ram : ORIGIN = 0x00000000, LENGTH = 64M
32
        myram : ORIGIN = 16M-400k,   LENGTH = 400k
33
          rom : ORIGIN = 0x0F000000, LENGTH = 1M
34
        dpram : ORIGIN = 0x0E000000, LENGTH = 8k
35
}
36
 
37
/*
38
 * Load objects
39
 */
40
SECTIONS {
41
        /*
42
         * Boot PROM
43
         */
44
        rom : {
45
                _RomBase = .;
46
        } >rom
47
 
48
        /*
49
         * Dynamic RAM
50
         */
51
        ram : {
52
                _RamBase = .;
53
        } >ram
54
 
55
        /*
56
         * Text, data and bss segments
57
         */
58
        .text : AT(0x0) {
59
                *(.text)
60
 
61
                /*
62
                 * C++ constructors/destructors
63
                 */
64
                *(.gnu.linkonce.t.*)
65
 
66
                /*
67
                 * Initialization and finalization code.
68
                 */
69
                PROVIDE (_init = .);
70
                *crti.o(.init)
71
                *(.init)
72
                *crtn.o(.init)
73
                PROVIDE (_fini = .);
74
                *crti.o(.fini)
75
                *(.fini)
76
                *crtn.o(.fini)
77
 
78
                /*
79
                 * C++ constructors/destructors
80
                 */
81
                . = ALIGN (16);
82
                *crtbegin.o(.ctors)
83
                *(.ctors)
84
                *crtend.o(.ctors)
85
                *crtbegin.o(.dtors)
86
                *(.dtors)
87
                *crtend.o(.dtors)
88
 
89
                /*
90
                 * Exception frame info
91
                 */
92
                . = ALIGN (16);
93
                *(.eh_frame)
94
 
95
                /*
96
                 * Read-only data
97
                 */
98
                . = ALIGN (16);
99
                _rodata_start = . ;
100
                *(.rodata)
101
                *(.gnu.linkonce.r*)
102
 
103
                 . = ALIGN (16);
104
                PROVIDE (etext = .);
105
        } >rom
106
        .data : AT(SIZEOF(.text)) {
107
                _copy_start = .;
108
                *(.data)
109
                *(.gnu.linkonce.d*)
110
                *(.gcc_except_table)
111
                . = ALIGN (16);
112
                PROVIDE (edata = .);
113
                _copy_end = .;
114
        } >myram
115
        .bss : {
116
                M68Kvec = .;
117
                . += (256 * 4);
118
                _clear_start = .;
119
                *(.bss)
120
                *(COMMON)
121
                . = ALIGN (16);
122
                PROVIDE (end = .);
123
 
124
                . += _StackSize;
125
                . = ALIGN (16);
126
                _stack_init = .;
127
                _clear_end = .;
128
 
129
                _WorkspaceBase = .;
130
        } >myram
131
 
132
        /*
133
         * On-chip memory/peripherals
134
         */
135
        dpram : {
136
                m360 = .;
137
                . += (8 * 1024);
138
        } >dpram
139
}

powered by: WebSVN 2.1.0

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