source: rtems/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds.bootp @ e2d79559

4.104.114.84.95
Last change on this file since e2d79559 was e2d79559, checked in by Joel Sherrill <joel.sherrill@…>, on Apr 9, 1997 at 2:05:50 PM

Added ka9q tcpip stack and network driver for the gen68360. This effort
was done based on the 3.6.0 release and had to be autoconf'ed locally.
It is turned on is the bsp enables it and it is not explicitly disabled
via the configure option --disable-tcpip. As many warnings as possible
were removed locally after the code was merged. Only the gen68360
and mvme136 bsps were compiled this way.

The ka9q port and network driver were submitted by Eric Norum
(eric@…).

The network demo programs are not included in the tree at this point.

  • Property mode set to 100644
File size: 4.1 KB
Line 
1/*
2 * This file contains GNU linker directives for a generic MC68360 board.
3 * Variations in hardware type and dynamic memory size can be made
4 * by overriding some values with linker command-line arguments.
5 *
6 * These linker directives are for producing a PROM version.
7 * To create the PROM image from the linker output you must use objcopy
8 * (--adjust-section-vma) to place the data segment at the end of the text
9 * segment in the PROM.  The start-up code takes care of copying this region
10 * to RAM.
11 *
12 * Saskatchewan Accelerator Laboratory
13 * University of Saskatchewan
14 * Saskatoon, Saskatchewan, CANADA
15 * eric@skatter.usask.ca
16 *
17 *  $Id$
18 */
19
20/*
21 * Declare some sizes.
22 * XXX: The assignment of ". += XyzSize;" fails in older gld's if the
23 *      number used there is not constant.  If this happens to you, edit
24 *      the lines marked XXX below to use a constant value.
25 */
26RamSize = DEFINED(RamSize) ? RamSize : 4M;
27HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000;
28StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
29
30/*
31 * Declare hardware type
32 */
33MC68360HardwareTypeMotorolaGeneric = 0;
34MC68360HardwareTypeAtlasHSB = 1;
35MC68360HardwareType = DEFINED(MC68360HardwareType) ? MC68360HardwareType : 0;
36
37/*
38 * Declare on-board memory.
39 * It would be nice if the ram length could be given as
40 * LENGTH=RamSize, but gld doesn't allow non-constant
41 * values in the LENGTH expression. 
42 */
43MEMORY {
44          ram : ORIGIN = 0x00000000, LENGTH = 64M
45        myram : ORIGIN = 4M-512k,    LENGTH = 512k
46          rom : ORIGIN = 0xFF000000, LENGTH = 1M
47        dpram : ORIGIN = 0xFE000000, LENGTH = 8k
48}
49
50/*
51 * Declare low-order three octets of Ethernet address.
52 */
53ETHERNET_ADDRESS = DEFINED(ETHERNET_ADDRESS) ? ETHERNET_ADDRESS : 0xDEAD12;
54
55/*
56 * Declare hardware type.
57 * Acceptable values are:
58 *      0 - Generic system as described in the MC68360 User's Manual
59 *          (MC68360UM/AD Rev. 1).
60 *      1 - ATLAS Computer Equipment Incorporated ACE360/HSB.
61 */
62MC68360HardwareType = DEFINED(MC68360HardwareType) ? MC68360HardwareType : 0;
63
64/*
65 * Load objects
66 */
67SECTIONS {
68        /*
69         * Hardware variations
70         */
71        _RamSize = RamSize;
72        __RamSize = RamSize;
73        _MC68360HardwareType = MC68360HardwareType;
74        __MC68360HardwareType = MC68360HardwareType;
75        _MC68360HardwareTypeMotorolaGeneric = MC68360HardwareTypeMotorolaGeneric;
76        __MC68360HardwareTypeMotorolaGeneric = MC68360HardwareTypeMotorolaGeneric;
77        _MC68360HardwareTypeAtlasHSB = MC68360HardwareTypeAtlasHSB;
78        __MC68360HardwareTypeAtlasHSB = MC68360HardwareTypeAtlasHSB;
79
80        /*
81         * Boot PROM
82         */
83        rom : {
84                _RomBase = .;
85                __RomBase = .;
86        } >rom
87
88        /*
89         * Dynamic RAM
90         */
91        ram : {
92                _RamBase = .;
93                __RamBase = .;
94        } >ram
95
96        /*
97         * Text, data and bss segments
98         */
99        .text : AT (0x00000000) {
100                CREATE_OBJECT_SYMBOLS
101                *(.text)
102                . = ALIGN (16);
103                etext = .;
104                _etext = .;
105        } >rom
106        .data : AT(SIZEOF(.text)) {
107                copy_start = .;
108                *(.data)
109                . = ALIGN (16);
110                _edata = .;
111                copy_end = .;
112        } >myram
113        .bss : {
114                M68Kvec = .;
115                _M68Kvec = .;
116                . += (256 * 4);
117                clear_start = .;
118                *(.bss)
119                *(COMMON)
120                . = ALIGN (16);
121                _end = .;
122
123                _HeapStart = .;
124                __HeapStart = .;
125                . += HeapSize;  /* XXX -- Old gld can't handle this */
126                . += StackSize; /* XXX -- Old gld can't handle this */
127                /* . += 0x10000; */ /* HeapSize for old gld */
128                /* . += 0x1000;  */ /* StackSize for old gld */
129                . = ALIGN (16);
130                stack_init = .;
131                clear_end = .;
132
133                _WorkspaceBase = .;
134                __WorkspaceBase = .;
135        } >myram
136
137        /*
138         * On-chip memory/peripherals
139         */
140        dpram : {
141                m360 = .;
142                _m360 = .;
143                . += (8 * 1024);
144
145        } >dpram
146}
Note: See TracBrowser for help on using the repository browser.