source: rtems/c/src/lib/libbsp/m68k/gen68360/startup/linkcmds.prom @ 3e7b167

4.104.114.84.95
Last change on this file since 3e7b167 was 996a9cb4, checked in by Joel Sherrill <joel.sherrill@…>, on 05/01/96 at 15:25:33

Updates from Eric Norum.

  • Property mode set to 100644
File size: 2.5 KB
Line 
1/*
2 * This file contains GNU linker directives for a generic MC68360 board.
3 * These linker directives are for producing a PROM version..
4 * To create the PROM image from the linkter output you must use objcopy
5 * (--adjust-section-vma) to place the data segment at the end of the text
6 * segment in the PROM.  The start-up code takes care of copying this region
7 * to RAM.
8 *
9 * Saskatchewan Accelerator Laboratory
10 * University of Saskatchewan
11 * Saskatoon, Saskatchewan, CANADA
12 * eric@skatter.usask.ca
13 *
14 *  $Id$
15 */
16
17/*
18 * a.out format doesn't handle prom images very well
19 */
20OUTPUT_FORMAT(coff-m68k)
21
22/*
23 * Declare on-board memory
24 */
25MEMORY {
26          ram : ORIGIN = 0x00000000, LENGTH = 4M
27          rom : ORIGIN = 0xFF000000, LENGTH = 1M
28        dpram : ORIGIN = 0xFE000000, LENGTH = 8k
29}
30
31/*
32 * Declare some sizes
33 */
34HeapSize = DEFINED(HeapSize) ? HeapSize : 0x10000;
35StackSize = DEFINED(StackSize) ? StackSize : 0x1000;
36
37/*
38 * Declare low-order three octets of Ethernet address
39 */
40ETHERNET_ADDRESS = DEFINED(ETHERNET_ADDRESS) ? ETHERNET_ADDRESS : 0xDEAD12;
41
42/*
43 * Load objects
44 */
45SECTIONS {
46        /*
47         * Boot PROM
48         */
49        rom : {
50                _RomBase = .;
51                __RomBase = .;
52        } >rom
53
54        /*
55         * Dynamic RAM
56         */
57        ram : {
58                _RamBase = .;
59                __RamBase = .;
60        } >ram
61
62        /*
63         * Text, data and bss segments
64         */
65        .text : {
66                CREATE_OBJECT_SYMBOLS
67                *(.text)
68                . = ALIGN (16);
69                etext = .;
70                _etext = .;
71        } >rom
72        .data : {
73                copy_start = .;
74                *(.data)
75                . = ALIGN (16);
76                _edata = .;
77                copy_end = .;
78        } >ram
79        .bss : {
80                M68Kvec = .;
81                _M68Kvec = .;
82                . += (256 * 4);
83                clear_start = .;
84                *(.bss)
85                *(COMMON)
86                . = ALIGN (16);
87                _end = .;
88
89                _HeapStart = .;
90                __HeapStart = .;
91                . += HeapSize;
92                . += StackSize;
93                . = ALIGN (16);
94                stack_init = .;
95                clear_end = .;
96
97                _WorkspaceBase = .;
98                __WorkspaceBase = .;
99        } >ram
100
101        /*
102         * On-chip memory/peripherals
103         */
104        dpram : {
105                m360 = .;
106                _m360 = .;
107                . += (8 * 1024);
108
109        } >dpram
110
111}
Note: See TracBrowser for help on using the repository browser.