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

powered by: WebSVN 2.1.0

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