1
- /*
2
- ******************************************************************************
3
- **
4
- ** File : LinkerScript.ld
5
- **
6
- ** Author : Auto-generated by STM32CubeIDE
7
- **
8
- ** Abstract : Linker script for NUCLEO-H743ZI(2) Board embedding STM32H743ZITx Device from STM32H7 series
9
- ** 2048Kbytes FLASH
10
- ** 128Kbytes DTCMRAM
11
- ** 64Kbytes ITCMRAM
12
- ** 512Kbytes RAM_D1
13
- ** 288Kbytes RAM_D2
14
- ** 64Kbytes RAM_D3
15
- **
16
- ** Set heap size, stack size and stack location according
17
- ** to application requirements.
18
- **
19
- ** Set memory bank area and size if external memory is used.
20
- **
21
- ** Target : STMicroelectronics STM32
22
- **
23
- ** Distribution : The file is distributed as is without any warranty
24
- ** of any kind.
25
- **
26
- *****************************************************************************
27
- ** @attention
28
- **
29
- ** <h2><center>© COPYRIGHT(c) 2019 STMicroelectronics</center></h2>
30
- **
31
- ** Redistribution and use in source and binary forms, with or without modification,
32
- ** are permitted provided that the following conditions are met :
33
- ** 1. Redistributions of source code must retain the above copyright notice,
34
- ** this list of conditions and the following disclaimer.
35
- ** 2. Redistributions in binary form must reproduce the above copyright notice,
36
- ** this list of conditions and the following disclaimer in the documentation
37
- ** and/or other materials provided with the distribution.
38
- ** 3. Neither the name of STMicroelectronics nor the names of its contributors
39
- ** may be used to endorse or promote products derived from this software
40
- ** without specific prior written permission.
41
- **
42
- ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
43
- ** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
44
- ** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
45
- ** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
46
- ** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
47
- ** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
48
- ** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
49
- ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
50
- ** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
51
- ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
52
- **
53
- *****************************************************************************
54
- */
1
+ /**
2
+ ******************************************************************************
3
+ * @file LinkerScript.ld
4
+ * @author Auto-generated by STM32CubeIDE
5
+ * @brief Linker script for STM32H743ZITx Device from STM32H7 series
6
+ * 2048Kbytes FLASH
7
+ * 128Kbytes DTCMRAM
8
+ * 64Kbytes ITCMRAM
9
+ * 512Kbytes RAM_D1
10
+ * 288Kbytes RAM_D2
11
+ * 64Kbytes RAM_D3
12
+ *
13
+ * Set heap size, stack size and stack location according
14
+ * to application requirements.
15
+ *
16
+ * Set memory bank area and size if external memory is used
17
+ ******************************************************************************
18
+ * @attention
19
+ *
20
+ * <h2><center>© Copyright (c) 2020 STMicroelectronics.
21
+ * All rights reserved.</center></h2>
22
+ *
23
+ * This software component is licensed by ST under BSD 3-Clause license,
24
+ * the "License"; You may not use this file except in compliance with the
25
+ * License. You may obtain a copy of the License at :
26
+ * opensource.org /licenses/BSD-3-Clause
27
+ *
28
+ ******************************************************************************
29
+ */
55
30
56
31
/* Entry Point */
57
32
ENTRY (Reset_Handler )
58
33
59
34
/* Highest address of the user mode stack */
60
- _estack = 0x24080000 ; /* end of "RAM_D1" Ram type memory */
35
+ _estack = ORIGIN (RAM_D1) + LENGTH (RAM_D1) ; /* end of "RAM_D1" Ram type memory */
61
36
62
37
_Min_Heap_Size = 0x200; /* required amount of heap */
63
38
_Min_Stack_Size = 0x400; /* required amount of stack */
64
39
65
40
/* Memories definition */
66
41
MEMORY
67
42
{
68
- DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
69
- ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
70
- RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K
71
- RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K
72
- RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K
73
- FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 2048K
43
+ DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
44
+ ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K
45
+ RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = LD_MAX_DATA_SIZE
46
+ RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K
47
+ RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K
48
+ FLASH (rx) : ORIGIN = 0x8000000 + LD_FLASH_OFFSET, LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET
74
49
}
75
50
76
51
/* Sections */
@@ -110,12 +85,12 @@ SECTIONS
110
85
. = ALIGN (4);
111
86
} >FLASH
112
87
113
- .ARM.extab : {
114
- . = ALIGN (4);
115
- *(.ARM.extab* .gnu.linkonce.armextab.*)
116
- . = ALIGN (4);
88
+ .ARM.extab : {
89
+ . = ALIGN (4);
90
+ *(.ARM.extab* .gnu.linkonce.armextab.*)
91
+ . = ALIGN (4);
117
92
} >FLASH
118
-
93
+
119
94
.ARM : {
120
95
. = ALIGN (4);
121
96
__exidx_start = .;
@@ -132,7 +107,7 @@ SECTIONS
132
107
PROVIDE_HIDDEN (__preinit_array_end = .);
133
108
. = ALIGN (4);
134
109
} >FLASH
135
-
110
+
136
111
.init_array :
137
112
{
138
113
. = ALIGN (4);
@@ -142,7 +117,7 @@ SECTIONS
142
117
PROVIDE_HIDDEN (__init_array_end = .);
143
118
. = ALIGN (4);
144
119
} >FLASH
145
-
120
+
146
121
.fini_array :
147
122
{
148
123
. = ALIGN (4);
@@ -157,7 +132,7 @@ SECTIONS
157
132
_sidata = LOADADDR (.data);
158
133
159
134
/* Initialized data sections into "RAM_D1" Ram type memory */
160
- .data :
135
+ .data :
161
136
{
162
137
. = ALIGN (4);
163
138
_sdata = .; /* create a global symbol at data start */
@@ -166,14 +141,14 @@ SECTIONS
166
141
167
142
. = ALIGN (4);
168
143
_edata = .; /* define a global symbol at data end */
169
-
144
+
170
145
} >RAM_D1 AT> FLASH
171
-
146
+
172
147
/* Uninitialized data section into "RAM_D1" Ram type memory */
173
148
. = ALIGN (4);
174
149
.bss :
175
150
{
176
- /* This is used by the startup in order to initialize the .bss secion */
151
+ /* This is used by the startup in order to initialize the .bss section */
177
152
_sbss = .; /* define a global symbol at bss start */
178
153
__bss_start__ = _sbss;
179
154
*(.bss)
0 commit comments