source: rtems/c/src/lib/libbsp/m68k/csb360/startup/linkcmds @ 4601f3dc

4.104.115
Last change on this file since 4601f3dc was 4601f3dc, checked in by Joel Sherrill <joel.sherrill@…>, on 09/16/08 at 19:03:12

2008-09-16 Joel Sherrill <joel.sherrill@…>

  • Makefile.am, configure.ac, startup/linkcmds: Add use of bsp_get_work_area() in its own file and rely on BSP Framework to perform more initialization. Remove unnecessary includes of rtems/libio.h and rtems/libcsupport.h.
  • startup/bspstart.c: Removed.
  • Property mode set to 100644
File size: 2.4 KB
Line 
1/*
2 * This file contains GNU linker directives for the Cogent
3 * CSB360 development board.
4 *
5 * Copyright (C) 2004 Cogent Computer Systems
6 * Author: Jay Monkman <jtm@lopingdog.com>
7 *
8 *  $Id$
9 */
10
11/*
12 * Declare size of heap.
13 * A heap size of 0 means "Use all available memory for the heap".
14 * Initial stack located in on-chip SRAM and not declared there.
15 */
16_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
17_RamBase = DEFINED(_RamBase) ? _RamBase : 0x00100000;
18_RamSize = DEFINED(_RamSize) ? _RamSize : 31M;
19
20/* This is needed for _CPU_ISR_install_vector -
21*  WARNING: it MUST match BSP_RAMBAR !!!!!!!!!!! */
22_VBR = 0x20000000;
23
24/*
25 * Setup the memory map of the CSB360 board
26 *
27 * The "ram" section is placed in RAM after the space used by umon.
28 *
29 */
30MEMORY
31{
32  ram     : ORIGIN = 0x00100000, LENGTH = 31M
33}
34
35SECTIONS
36{
37     
38  /*
39   * Text, data and bss segments
40   */
41   .text :
42   {
43        _RamBase = .;
44        __RamBase = .;
45        CREATE_OBJECT_SYMBOLS
46        *(.text*)
47
48        /*
49         * C++ constructors/destructors
50         */
51        *(.gnu.linkonce.t.*)
52
53        /*
54         * Initialization and finalization code.
55         */
56        . = ALIGN (16);
57        PROVIDE (_init = .);
58        *crti.o(.init)
59        *(.init)
60        *crtn.o(.init)
61        . = ALIGN (16);
62        PROVIDE (_fini = .);
63        *crti.o(.fini)
64        *(.fini)
65        *crtn.o(.fini)
66
67        /*
68         * Special FreeBSD sysctl sections.
69         */
70        . = ALIGN (16);
71        __start_set_sysctl_set = .;
72        *(set_sysctl_*);
73        __stop_set_sysctl_set = ABSOLUTE(.);
74        *(set_domain_*);
75        *(set_pseudo_*);
76
77        /*
78         * C++ constructors/destructors
79         */
80        . = ALIGN (16);
81        *crtbegin.o(.ctors)
82        *(.ctors)
83        *crtend.o(.ctors)
84        *crtbegin.o(.dtors)
85        *(.dtors)
86        *crtend.o(.dtors)
87
88        /*
89         * Exception frame info
90         */
91        . = ALIGN (16);
92        *(.eh_frame)
93
94        /*
95         * Read-only data
96         */
97        . = ALIGN (16);
98        _rodata_start = .;
99        *(.rodata*)
100        *(.gnu.linkonce.r*)
101
102        . = ALIGN (16);
103        PROVIDE (etext = .);
104
105   } > ram
106
107   .data :
108   {
109        copy_start = .;
110        *(.shdata)
111        . = ALIGN (0x10);
112        *(.data*)
113        . = ALIGN (0x10);
114        *(.gcc_exc)
115        *(.gcc_except_table*)
116        *(.jcr)
117        . = ALIGN (0x10);
118        *(.gnu.linkonce.d*)
119        . = ALIGN (0x10);
120        _edata = .;
121         copy_end = .;
122   } > ram
123
124  .bss :
125  {
126        clear_start = . ;
127        *(.shbss)
128        *(.dynbss)
129        *(.bss* .gnu.linkonce.b.*)
130        *(COMMON)
131        . = ALIGN(0x10);
132        _end = .;
133   
134        clear_end = .;
135
136        _WorkspaceBase = .;
137        __WorkspaceBase = .;
138
139  } > ram
140
141  .stab 0 (NOLOAD) :
142  {
143    *(.stab)
144  }
145
146  .stabstr 0 (NOLOAD) :
147  {
148    *(.stabstr)
149  }
150 
151}
Note: See TracBrowser for help on using the repository browser.