source:
rtems/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds
@
996a9cb4
Last change on this file since 996a9cb4 was 996a9cb4, checked in by Joel Sherrill <joel.sherrill@…>, on 05/01/96 at 15:25:33 | |
---|---|
|
|
File size: 2.5 KB |
Rev | Line | |
---|---|---|
[457b6ae] | 1 | /* |
2 | * This file contains GNU linker directives for a generic MC68360 board. | |
3 | * | |
4 | * Saskatchewan Accelerator Laboratory | |
5 | * University of Saskatchewan | |
6 | * Saskatoon, Saskatchewan, CANADA | |
7 | * eric@skatter.usask.ca | |
8 | * | |
9 | * $Id$ | |
10 | */ | |
11 | ||
12 | /* | |
13 | * Declare on-board memory | |
14 | */ | |
15 | MEMORY { | |
[996a9cb4] | 16 | ram : ORIGIN = 0x00000000, LENGTH = 4M |
17 | rom : ORIGIN = 0xFF000000, LENGTH = 1M | |
18 | dpram : ORIGIN = 0xFE000000, LENGTH = 8k | |
[457b6ae] | 19 | } |
20 | ||
21 | /* | |
22 | * Declare some sizes | |
[996a9cb4] | 23 | * XXX: The assignment of ". += XyzSize;" fails in older gld's if the |
24 | * number used there is not constant. If this happens to you, edit | |
25 | * the lines marked below to use a constant value. | |
[457b6ae] | 26 | */ |
[996a9cb4] | 27 | HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000; |
28 | StackSize = DEFINED(StackSize) ? StackSize : 0x1000; | |
[11532ca] | 29 | |
30 | /* | |
[996a9cb4] | 31 | * Declare low-order three octets of Ethernet address |
[11532ca] | 32 | */ |
[996a9cb4] | 33 | ETHERNET_ADDRESS = DEFINED(ETHERNET_ADDRESS) ? ETHERNET_ADDRESS : 0xDEAD12; |
[457b6ae] | 34 | |
35 | /* | |
36 | * Load objects | |
37 | */ | |
38 | SECTIONS { | |
[996a9cb4] | 39 | /* |
40 | * Boot PROM | |
41 | */ | |
42 | rom : { | |
43 | _RomBase = .; | |
44 | __RomBase = .; | |
45 | } >rom | |
46 | ||
47 | /* | |
48 | * Dynamic RAM | |
49 | */ | |
50 | ram : { | |
51 | _RamBase = .; | |
52 | __RamBase = .; | |
53 | } >ram | |
54 | ||
55 | /* | |
56 | * Text, data and bss segments | |
57 | */ | |
[457b6ae] | 58 | .text : { |
[996a9cb4] | 59 | CREATE_OBJECT_SYMBOLS |
60 | *(.text) | |
61 | . = ALIGN (16); | |
62 | etext = .; | |
63 | _etext = .; | |
[457b6ae] | 64 | } >ram |
65 | .data : { | |
[996a9cb4] | 66 | copy_start = .; |
67 | *(.data) | |
68 | . = ALIGN (16); | |
69 | _edata = .; | |
70 | copy_end = .; | |
[457b6ae] | 71 | } >ram |
72 | .bss : { | |
[996a9cb4] | 73 | M68Kvec = .; |
74 | _M68Kvec = .; | |
75 | . += (256 * 4); | |
76 | clear_start = .; | |
77 | *(.bss) | |
78 | *(COMMON) | |
79 | . = ALIGN (16); | |
80 | _end = .; | |
[11532ca] | 81 | |
[996a9cb4] | 82 | _HeapStart = .; |
83 | __HeapStart = .; | |
84 | /* . += HeapSize; */ /* XXX -- Old gld can't handle this */ | |
85 | /* . += StackSize; */ /* XXX -- Old gld can't handle this */ | |
86 | . += 0x10000; /* HeapSize for old gld */ | |
87 | . += 0x1000; /* StackSize for old gld */ | |
88 | . = ALIGN (16); | |
89 | stack_init = .; | |
90 | clear_end = .; | |
[457b6ae] | 91 | |
[996a9cb4] | 92 | _WorkspaceBase = .; |
93 | __WorkspaceBase = .; | |
94 | } >ram | |
[457b6ae] | 95 | |
[996a9cb4] | 96 | /* |
97 | * On-chip memory/peripherals | |
98 | */ | |
99 | dpram : { | |
100 | m360 = .; | |
101 | _m360 = .; | |
102 | . += (8 * 1024); | |
[457b6ae] | 103 | |
[996a9cb4] | 104 | } >dpram |
[457b6ae] | 105 | } |
Note: See TracBrowser
for help on using the repository browser.