]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_MPU_LPC1768_GCC_RedSuite/src/rtosdemo_rdb1768_Debug.ld
Start to re-arrange files to include FreeRTOS+ in main download.
[freertos] / Demo / CORTEX_MPU_LPC1768_GCC_RedSuite / src / rtosdemo_rdb1768_Debug.ld
1 /*\r
2  * GENERATED FILE - DO NOT EDIT\r
3  * (C) Code Red Technologies Ltd, 2008-9    \r
4  * Generated C linker script file for LPC1768 \r
5  * (created from nxp_lpc13_c.ld (v2.0.11 (200907061347)) on Thu Jul 09 12:44:31 BST 2009)\r
6 */\r
7 \r
8 GROUP(libgcc.a libc.a)
9 \r
10 MEMORY\r
11 {\r
12      FLASH (rx) : ORIGIN = 0x0 LENGTH = 0x80000\r
13      SRAM (rwx) : ORIGIN = 0x10000000, LENGTH = 0x8000\r
14          AHBRAM0   : ORIGIN = 0x2007c000, LENGTH = 0x4000\r
15          AHBRAM1   : ORIGIN = 0x20080000, LENGTH = 0x4000\r
16 }\r
17 \r
18 _vRamTop = ORIGIN( SRAM ) + LENGTH( SRAM );\r
19 \r
20 /* Variables used by FreeRTOS-MPU. */\r
21 _Privileged_Functions_Region_Size = 16K;\r
22 _Privileged_Data_Region_Size = 256;\r
23 \r
24 __FLASH_segment_start__ = ORIGIN( FLASH );\r
25 __FLASH_segment_end__ = __FLASH_segment_start__ + LENGTH( FLASH );\r
26 \r
27 __privileged_functions_start__ = ORIGIN( FLASH );\r
28 __privileged_functions_end__ = __privileged_functions_start__ + _Privileged_Functions_Region_Size;\r
29 \r
30 __SRAM_segment_start__ = ORIGIN( SRAM );\r
31 __SRAM_segment_end__ = __SRAM_segment_start__ + LENGTH( SRAM );\r
32 \r
33 __privileged_data_start__ = ORIGIN( SRAM );\r
34 __privileged_data_end__ = ORIGIN( SRAM ) + _Privileged_Data_Region_Size;        \r
35 \r
36 ENTRY(ResetISR)\r
37 \r
38 SECTIONS\r
39 {\r
40         /* Privileged section at the start of the flash - vectors must be first\r
41         whatever. */\r
42         privileged_functions :\r
43         {\r
44                 KEEP(*(.isr_vector))\r
45                 *(privileged_functions)\r
46         } > FLASH\r
47         \r
48         .text :\r
49         {\r
50                 /* Non privileged code kept out of the first 16K or flash. */\r
51                 . = __privileged_functions_start__ + _Privileged_Functions_Region_Size;\r
52         \r
53                 *(.text*)\r
54                 *(.rodata*)\r
55 \r
56         } > FLASH\r
57 \r
58 \r
59         /* for exception handling/unwind - some Newlib functions (in common with C++ and STDC++) use this. */\r
60         \r
61         .ARM.extab : \r
62         {\r
63                 *(.ARM.extab* .gnu.linkonce.armextab.*)\r
64         } > FLASH\r
65 \r
66         __exidx_start = .;\r
67         .ARM.exidx :\r
68         {\r
69                 *(.ARM.exidx* .gnu.linkonce.armexidx.*)\r
70         } > FLASH\r
71         __exidx_end = .;\r
72 \r
73         _etext = .;\r
74         \r
75         /* zero initialized data */             \r
76         privileged_data :\r
77         {\r
78                 _bss = .;\r
79                 *(privileged_data)\r
80                 /* Non kernel data is kept out of the first 256 bytes of SRAM. */\r
81         } > SRAM        \r
82 \r
83         . = ORIGIN( SRAM ) + _Privileged_Data_Region_Size;\r
84 \r
85         .bss :\r
86         {\r
87                 *(.bss*)\r
88                 *(COMMON)\r
89                 _ebss = .;\r
90         } > SRAM\r
91         \r
92         .data : AT (__exidx_end)\r
93         {\r
94                 _data = .;      \r
95                 *(vtable)\r
96                 *(.data*)\r
97                 _edata = .;\r
98         } > SRAM\r
99 \r
100 \r
101         /* Where we put the heap with cr_clib */\r
102         .cr_heap :\r
103         {\r
104                 end = .;\r
105                 _pvHeapStart = .;\r
106         } > SRAM\r
107 \r
108 /*\r
109         Note: (ref: M0000066)\r
110         Moving the stack down by 16 is to work around a GDB bug.\r
111         This space can be reclaimed for Production Builds.\r
112 */      \r
113         _vStackTop = _vRamTop - 16;\r
114         \r
115         .ETHRAM :\r
116         {\r
117         } > AHBRAM0\r
118         \r
119         .USBRAM :\r
120         {\r
121         } > AHBRAM1\r
122 }\r