]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/MCF5235_GCC/m5235-ram.ld
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / MCF5235_GCC / m5235-ram.ld
1 STARTUP(system/crt0.o)\r
2 INPUT(system/vector.o)\r
3 OUTPUT_ARCH(m68k)\r
4 SEARCH_DIR(.)\r
5 GROUP(-lc -lgcc)\r
6 \r
7 __DYNAMIC  =  0;\r
8 \r
9 MEMORY\r
10 {\r
11   sdram  (rwx) : ORIGIN = 0x00000000, LENGTH = 0x01000000\r
12   sram   (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000\r
13   ipsbar (rwx) : ORIGIN = 0x40000000, LENGTH = 0x40000000\r
14   flash  (rwx) : ORIGIN = 0x80000000, LENGTH = 0x00080000\r
15 }\r
16 \r
17 PROVIDE (__stack = 0x2000FFFC);\r
18 \r
19 SECTIONS\r
20 {\r
21   .sdram      : {} > sdram\r
22   .ipsbar     : {} > ipsbar\r
23   .sram (NOLOAD) : { *(.vector_ram); *(.nbuf) } > sram\r
24   .flash      : {} > flash\r
25 \r
26   .text :\r
27   {\r
28     __text_start = . ;\r
29     *(.vector_rom)\r
30     . = ALIGN (0x100);\r
31     *(.text)\r
32     . = ALIGN (16);\r
33 \r
34     *(.eh_frame)\r
35     . = ALIGN (16);\r
36 \r
37     *(.gnu.linkonce.t.*) \r
38 \r
39     . = ALIGN(0x4);\r
40      __CTOR_LIST__ = .;\r
41     ___CTOR_LIST__ = .;\r
42     LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)\r
43     *(.ctors)\r
44     LONG(0)\r
45     __CTOR_END__ = .;\r
46     __DTOR_LIST__ = .;\r
47     ___DTOR_LIST__ = .;\r
48     LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)\r
49     *(.dtors)\r
50      LONG(0)\r
51     __DTOR_END__ = .;\r
52     *(.rodata)\r
53     *(.rodata.*)\r
54     *(.gcc_except_table) \r
55 \r
56     . = ALIGN(0x2);\r
57     __INIT_SECTION__ = . ;\r
58     LONG (0x4e560000)   /* linkw %fp,#0 */\r
59     *(.init)\r
60     SHORT (0x4e5e)      /* unlk %fp */\r
61     SHORT (0x4e75)      /* rts */\r
62 \r
63     __FINI_SECTION__ = . ;\r
64     LONG (0x4e560000)   /* linkw %fp,#0 */\r
65     *(.fini)\r
66     SHORT (0x4e5e)      /* unlk %fp */\r
67     SHORT (0x4e75)      /* rts */\r
68 \r
69     *(.lit)\r
70     . = ALIGN(16);\r
71     _etext = .;\r
72     etext = .;\r
73   } > sdram\r
74 \r
75   .data :\r
76   {\r
77     copy_start = .;\r
78     *(.shdata)\r
79     *(.data)\r
80     *(.gnu.linkonce.d.*)\r
81     . = ALIGN (16);\r
82     _edata = .;\r
83     copy_end = .;\r
84   } > sdram\r
85   __data_load_start = LOADADDR(.data);\r
86   __data_load_end = __data_load_start + SIZEOF(.data);\r
87 \r
88   .bss :\r
89   {\r
90     . = ALIGN(0x4);\r
91     __bss_start = . ;\r
92     *(.shbss)\r
93     *(.bss)\r
94     *(COMMON)\r
95     _end =  ALIGN (0x8);\r
96     __end = _end;\r
97   } > sdram\r
98 \r
99   .stab 0 (NOLOAD) :\r
100   {\r
101     *(.stab)\r
102   }\r
103 \r
104   .stabstr 0 (NOLOAD) :\r
105   {\r
106     *(.stabstr)\r
107   }\r
108 }\r
109 \r
110 __IPSBAR            = ADDR(.ipsbar);\r
111 \r
112 __SDRAM             = ADDR(.sdram);\r
113 __SDRAM_SIZE        = SIZEOF(.sdram);\r
114 \r
115 __SRAM              = ADDR(.sram);\r
116 __SRAM_SIZE         = SIZEOF(.sram);\r
117 \r
118 __FLASH             = ADDR(.flash);\r
119 __FLASH_SIZE        = SIZEOF(.flash);\r