Skip to content

Commit bb640bf

Browse files
authored
Merge pull request #2609 from fpistm/stm32cubeH7_update
chore(h7): update to latest STM32CubeH7 v1.12.1
2 parents 27ae59c + 574f1f6 commit bb640bf

File tree

221 files changed

+16089
-6346
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

221 files changed

+16089
-6346
lines changed

libraries/SrcWrapper/src/HAL/stm32yyxx_hal_sdio.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
#pragma GCC diagnostic push
33
#pragma GCC diagnostic ignored "-Wunused-parameter"
44

5-
#ifdef STM32U5xx
5+
#ifdef STM32H7xx
6+
#include "stm32h7xx_hal_sdio.c"
7+
#elif STM32U5xx
68
#include "stm32u5xx_hal_sdio.c"
79
#endif
810
#pragma GCC diagnostic pop

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h723xx.h

+292-135
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h725xx.h

+292-135
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h730xx.h

+292-135
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h730xxq.h

+292-135
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h733xx.h

+293-136
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h735xx.h

+292-135
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h742xx.h

+197-95
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h743xx.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h745xg.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h745xx.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h747xg.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h747xx.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h750xx.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h753xx.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h755xx.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h757xx.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xx.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xxq.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7b0xx.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7b0xxq.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7b3xx.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7b3xxq.h

+199-97
Large diffs are not rendered by default.

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h

+4-3
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@
7171
/* #define STM32H745xx */ /*!< STM32H745ZI, STM32H745II, STM32H745BI, STM32H745XI Devices */
7272
/* #define STM32H745xG */ /*!< STM32H745ZG, STM32H745IG, STM32H745BG, STM32H745XG Devices */
7373
/* #define STM32H755xx */ /*!< STM32H755ZI, STM32H755II, STM32H755BI, STM32H755XI Devices */
74-
/* #define STM32H7B0xx */ /*!< STM32H7B0ABIxQ, STM32H7B0IBTx, STM32H7B0RBTx, STM32H7B0VBTx, STM32H7B0ZBTx, STM32H7B0IBKxQ */
74+
/* #define STM32H7B0xx */ /*!< STM32H7B0IBTx, STM32H7B0RBTx, STM32H7B0VBTx, STM32H7B0ZBTx Devices */
75+
/* #define STM32H7B0xxQ */ /*!< STM32H7B0ABIxQ, STM32H7B0IBKxQ Devices */
7576
/* #define STM32H7A3xx */ /*!< STM32H7A3IIK6, STM32H7A3IIT6, STM32H7A3NIH6, STM32H7A3RIT6, STM32H7A3VIH6, STM32H7A3VIT6, STM32H7A3ZIT6 */
7677
/* #define STM32H7A3xxQ */ /*!< STM32H7A3QIY6Q, STM32H7A3IIK6Q, STM32H7A3IIT6Q, STM32H7A3LIH6Q, STM32H7A3VIH6Q, STM32H7A3VIT6Q, STM32H7A3AII6Q, STM32H7A3ZIT6Q */
7778
/* #define STM32H7B3xx */ /*!< STM32H7B3IIK6, STM32H7B3IIT6, STM32H7B3NIH6, STM32H7B3RIT6, STM32H7B3VIH6, STM32H7B3VIT6, STM32H7B3ZIT6 */
@@ -102,11 +103,11 @@
102103
#endif /* USE_HAL_DRIVER */
103104

104105
/**
105-
* @brief CMSIS Device version number V1.10.4
106+
* @brief CMSIS Device version number V1.10.6
106107
*/
107108
#define __STM32H7xx_CMSIS_DEVICE_VERSION_MAIN (0x01) /*!< [31:24] main version */
108109
#define __STM32H7xx_CMSIS_DEVICE_VERSION_SUB1 (0x0A) /*!< [23:16] sub1 version */
109-
#define __STM32H7xx_CMSIS_DEVICE_VERSION_SUB2 (0x04) /*!< [15:8] sub2 version */
110+
#define __STM32H7xx_CMSIS_DEVICE_VERSION_SUB2 (0x06) /*!< [15:8] sub2 version */
110111
#define __STM32H7xx_CMSIS_DEVICE_VERSION_RC (0x00) /*!< [7:0] release candidate */
111112
#define __STM32H7xx_CMSIS_DEVICE_VERSION ((__STM32H7xx_CMSIS_DEVICE_VERSION_MAIN << 24)\
112113
|(__STM32H7xx_CMSIS_DEVICE_VERSION_SUB1 << 16)\

system/Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h

+1
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ extern const uint8_t D1CorePrescTable[16] ; /*!< D1CorePrescTable prescalers ta
8484

8585
extern void SystemInit(void);
8686
extern void SystemCoreClockUpdate(void);
87+
extern void ExitRun0Mode(void);
8788
/**
8889
* @}
8990
*/

system/Drivers/CMSIS/Device/ST/STM32H7xx/Release_Notes.html

+61-16
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,55 @@ <h1 id="release-notes-for-stm32h7xx-cmsis">Release Notes for <mark> STM32H7xx C
3030
<div class="col-sm-12 col-lg-8">
3131
<h1 id="update-history"><strong>Update History</strong></h1>
3232
<div class="collapse">
33-
<input type="checkbox" id="collapse-section16" checked aria-hidden="true"> <label for="collapse-section16" aria-hidden="true"><strong>V1.10.4 / 15-March-2024</strong></label>
33+
<input type="checkbox" id="collapse-section18" checked aria-hidden="true"> <label for="collapse-section18" aria-hidden="true"><strong>V1.10.6 / 06-December-2024</strong></label>
3434
<div>
3535
<h2 id="main-changes">Main Changes</h2>
3636
<ul>
37+
<li><strong>system_stm32h7xx.c template files</strong>
38+
<ul>
39+
<li>Fix computed frequencies returned by the HAL_RCC_GetHCLKFreq(), HAL_RCC_GetPCLK1Freq(), and HAL_RCC_GetPCLK2Freq() APIs.</li>
40+
<li>Enable FMC clock to ensure effective write access to FMC Bank1 registers in the SystemInit() API.</li>
41+
</ul></li>
42+
<li><strong>STM32H723/H725/H730/H733/H735 devices header files</strong>
43+
<ul>
44+
<li>Align the RTC TAMPER register and bitfields naming with the terminology used in the Reference Manual (RM0468).</li>
45+
</ul></li>
46+
<li><strong>STM32H742/H743/H745/H747/H750/H753/H755/H757/H7A3/H7B0/H7B3 device header files</strong>
47+
<ul>
48+
<li>Define new RTC macros to manage specific supported Tamper features:
49+
<ul>
50+
<li>RTC_TAMPER2_SUPPORT to manage Tamper 2 support</li>
51+
<li>RTC_TAMPMASKFLAG_SUPPORT to manage Tamper Event Masking support</li>
52+
<li>RTC_TAMPNOERASE_SUPPORT to manage Backup Registers erasure upon Tamper Event support</li>
53+
<li>RTC_TAMPxIE_SUPPORT to manage selective TAMPERx interrupt enable support.</li>
54+
</ul></li>
55+
</ul></li>
56+
</ul>
57+
</div>
58+
</div>
59+
<div class="collapse">
60+
<input type="checkbox" id="collapse-section17" aria-hidden="true"> <label for="collapse-section17" aria-hidden="true"><strong>V1.10.5 / 30-October-2024</strong></label>
61+
<div>
62+
<h2 id="main-changes-1">Main Changes</h2>
63+
<ul>
64+
<li>Update startup files to safely exit from Run* mode.
65+
<ul>
66+
<li>Deploy the recommended “how to exit from Run* mode” configuration sequence available within product documentation.</li>
67+
</ul></li>
68+
<li>Update DBGMCU_APB1HFZ1_DBG_TIM24_Pos and FMC_SDCMR_MODE_2 macros with the new values.</li>
69+
<li>Align GPIO MODER defines with naming used in reference manual.
70+
<ul>
71+
<li>Rename “GPIO_MODER_MODExx” to “GPIO_MODER_MODERxx”.</li>
72+
</ul></li>
73+
<li>Add alignment statements ALIGN(4) to Flash sections in gcc template linker files.</li>
74+
</ul>
75+
</div>
76+
</div>
77+
<div class="collapse">
78+
<input type="checkbox" id="collapse-section16" aria-hidden="true"> <label for="collapse-section16" aria-hidden="true"><strong>V1.10.4 / 15-March-2024</strong></label>
79+
<div>
80+
<h2 id="main-changes-2">Main Changes</h2>
81+
<ul>
3782
<li>Update the values of the sensor calibration temperatures for H742, H743, and H753 part numbers.</li>
3883
<li>Remove the unsupported MDMA BASE channel.</li>
3984
<li>Align CMSIS with IP spec and product reference manual by adding missing bit fields definition.</li>
@@ -47,7 +92,7 @@ <h2 id="main-changes">Main Changes</h2>
4792
<div class="collapse">
4893
<input type="checkbox" id="collapse-section15" aria-hidden="true"> <label for="collapse-section15" aria-hidden="true"><strong>V1.10.3 / 23-September-2022</strong></label>
4994
<div>
50-
<h2 id="main-changes-1">Main Changes</h2>
95+
<h2 id="main-changes-3">Main Changes</h2>
5196
<ul>
5297
<li>General updates to fix known defects and implementation enhancements</li>
5398
<li>Update system_stm32h7xx_*.c template files to fix typo in comment: the VTOR offset value is multiple of 0x400.</li>
@@ -58,7 +103,7 @@ <h2 id="main-changes-1">Main Changes</h2>
58103
<div class="collapse">
59104
<input type="checkbox" id="collapse-section14" aria-hidden="true"> <label for="collapse-section14" aria-hidden="true"><strong>V1.10.2 / 12-February-2022</strong></label>
60105
<div>
61-
<h2 id="main-changes-2">Main Changes</h2>
106+
<h2 id="main-changes-4">Main Changes</h2>
62107
<ul>
63108
<li>General updates to fix known defects and implementation enhancements</li>
64109
<li>Add support for ADC LDO output voltage ready bit.</li>
@@ -73,7 +118,7 @@ <h2 id="main-changes-2">Main Changes</h2>
73118
<div class="collapse">
74119
<input type="checkbox" id="collapse-section13" aria-hidden="true"> <label for="collapse-section13" aria-hidden="true"><strong>V1.10.1 / 06-December-2021</strong></label>
75120
<div>
76-
<h2 id="main-changes-3">Main Changes</h2>
121+
<h2 id="main-changes-5">Main Changes</h2>
77122
<ul>
78123
<li>General updates to fix known defects and implementation enhancements</li>
79124
<li>All source files: update disclaimer to add reference to the new license agreement.</li>
@@ -99,7 +144,7 @@ <h2 id="main-changes-3">Main Changes</h2>
99144
<div class="collapse">
100145
<input type="checkbox" id="collapse-section12" aria-hidden="true"> <label for="collapse-section12" aria-hidden="true"><strong>V1.10.0 / 12-February-2021</strong></label>
101146
<div>
102-
<h2 id="main-changes-4">Main Changes</h2>
147+
<h2 id="main-changes-6">Main Changes</h2>
103148
<ul>
104149
<li>Fix minor issues related to English typo in comments of registers and fields description</li>
105150
<li>Update STM32H7 devices header files to add GPV registers definition, base address and instance</li>
@@ -117,7 +162,7 @@ <h2 id="main-changes-4">Main Changes</h2>
117162
<div class="collapse">
118163
<input type="checkbox" id="collapse-section11" aria-hidden="true"> <label for="collapse-section11" aria-hidden="true"><strong>V1.9.0 / 29-May-2020</strong></label>
119164
<div>
120-
<h2 id="main-changes-5">Main Changes</h2>
165+
<h2 id="main-changes-7">Main Changes</h2>
121166
<ul>
122167
<li>Add support of stm32h723xx, stm32h725xx, stm32h733xx, stm32h735xx, stm32h730xx and stm32h730xxQ devices:
123168
<ul>
@@ -175,7 +220,7 @@ <h2 id="main-changes-5">Main Changes</h2>
175220
<div class="collapse">
176221
<input type="checkbox" id="collapse-section10" aria-hidden="true"> <label for="collapse-section10" aria-hidden="true"><strong>V1.8.0 / 14-February-2020</strong></label>
177222
<div>
178-
<h2 id="main-changes-6">Main Changes</h2>
223+
<h2 id="main-changes-8">Main Changes</h2>
179224
<ul>
180225
<li>General updates to align Bits and registers definitions with the STM32H7 reference manual</li>
181226
<li>Update “ErrorStatus” enumeration definition in stm32h7xx.h file with SUCCESS set to numerical value zero</li>
@@ -196,7 +241,7 @@ <h2 id="main-changes-6">Main Changes</h2>
196241
<div class="collapse">
197242
<input type="checkbox" id="collapse-section9" aria-hidden="true"> <label for="collapse-section9" aria-hidden="true"><strong>V1.7.0 / 06-December-2019</strong></label>
198243
<div>
199-
<h2 id="main-changes-7">Main Changes</h2>
244+
<h2 id="main-changes-9">Main Changes</h2>
200245
<ul>
201246
<li><p>General updates to align Bit and registers definition with the STM32H7 reference manual</p></li>
202247
<li>Add support of stm32h7A3xx, stm32h7A3xxQ, stm32h7B3xx, stm32h7B3xxQ, stm32h7B0xx and stm32h7B0xxQ devices:
@@ -226,7 +271,7 @@ <h2 id="main-changes-7">Main Changes</h2>
226271
<div class="collapse">
227272
<input type="checkbox" id="collapse-section8" aria-hidden="true"> <label for="collapse-section8" aria-hidden="true"><strong>V1.6.0 / 28-June-2019</strong></label>
228273
<div>
229-
<h2 id="main-changes-8">Main Changes</h2>
274+
<h2 id="main-changes-10">Main Changes</h2>
230275
<ul>
231276
<li>Add definition of “ART_TypeDef” structure: ART accelerator for Cortex-M4 available in Dual Core devices</li>
232277
<li>Add definition of “ART” instance: pointer to “ART_TypeDef” structure</li>
@@ -241,7 +286,7 @@ <h2 id="main-changes-8">Main Changes</h2>
241286
<div class="collapse">
242287
<input type="checkbox" id="collapse-section7" aria-hidden="true"> <label for="collapse-section7" aria-hidden="true"><strong>V1.5.0 / 05-April-2019</strong></label>
243288
<div>
244-
<h2 id="main-changes-9">Main Changes</h2>
289+
<h2 id="main-changes-11">Main Changes</h2>
245290
<ul>
246291
<li>General updates to align Bit and registers definition with the STM32H7 reference manual</li>
247292
<li>Updates to aligned with STM32H7xx <strong>rev.V</strong> devices</li>
@@ -305,7 +350,7 @@ <h2 id="main-changes-9">Main Changes</h2>
305350
<div class="collapse">
306351
<input type="checkbox" id="collapse-section6" aria-hidden="true"> <label for="collapse-section6" aria-hidden="true"><strong>V1.3.1 / 31-January-2019</strong></label>
307352
<div>
308-
<h2 id="main-changes-10">Main Changes</h2>
353+
<h2 id="main-changes-12">Main Changes</h2>
309354
<ul>
310355
<li><strong>Patch Release on top of V1.3.0</strong></li>
311356
<li>Add Definition of UID_BASE ( Unique device ID register base address) to the STM32H7xx include files:
@@ -318,7 +363,7 @@ <h2 id="main-changes-10">Main Changes</h2>
318363
<div class="collapse">
319364
<input type="checkbox" id="collapse-section5" aria-hidden="true"> <label for="collapse-section5" aria-hidden="true"><strong>V1.4.0 / 30-November-2018</strong></label>
320365
<div>
321-
<h2 id="main-changes-11">Main Changes</h2>
366+
<h2 id="main-changes-13">Main Changes</h2>
322367
<ul>
323368
<li>STM32H7xx include files:
324369
<ul>
@@ -363,7 +408,7 @@ <h2 id="main-changes-11">Main Changes</h2>
363408
<div class="collapse">
364409
<input type="checkbox" id="collapse-section4" aria-hidden="true"> <label for="collapse-section4" aria-hidden="true"><strong>V1.3.0 / 29-June-2018</strong></label>
365410
<div>
366-
<h2 id="main-changes-12">Main Changes</h2>
411+
<h2 id="main-changes-14">Main Changes</h2>
367412
<ul>
368413
<li>Add support for stm32h750xx value line devices:
369414
<ul>
@@ -376,7 +421,7 @@ <h2 id="main-changes-12">Main Changes</h2>
376421
<div class="collapse">
377422
<input type="checkbox" id="collapse-section3" aria-hidden="true"> <label for="collapse-section3" aria-hidden="true"><strong>V1.2.0 / 29-December-2017</strong></label>
378423
<div>
379-
<h2 id="main-changes-13">Main Changes</h2>
424+
<h2 id="main-changes-15">Main Changes</h2>
380425
<ul>
381426
<li>Update FDCAN bit definition</li>
382427
<li>Update SystemCoreClockUpdate() function in system_stm32h7xx.c file to use direct register access</li>
@@ -386,7 +431,7 @@ <h2 id="main-changes-13">Main Changes</h2>
386431
<div class="collapse">
387432
<input type="checkbox" id="collapse-section2" aria-hidden="true"> <label for="collapse-section2" aria-hidden="true"><strong>V1.1.0 / 31-August-2017</strong></label>
388433
<div>
389-
<h2 id="main-changes-14">Main Changes</h2>
434+
<h2 id="main-changes-16">Main Changes</h2>
390435
<ul>
391436
<li>Update USB OTG bit definition</li>
392437
<li>Adjust PLL fractional computation</li>
@@ -396,7 +441,7 @@ <h2 id="main-changes-14">Main Changes</h2>
396441
<div class="collapse">
397442
<input type="checkbox" id="collapse-section1" aria-hidden="true"> <label for="collapse-section1" aria-hidden="true"><strong>V1.0.0 / 21-April-2017</strong></label>
398443
<div>
399-
<h2 id="main-changes-15">Main Changes</h2>
444+
<h2 id="main-changes-17">Main Changes</h2>
400445
<ul>
401446
<li>First official release for <strong>STM32H743xx/753xx</strong> devices</li>
402447
</ul>

system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/linker/stm32h745xg_flash_CM7.ld

+10
Original file line numberDiff line numberDiff line change
@@ -87,34 +87,44 @@ SECTIONS
8787

8888
.ARM.extab (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
8989
{
90+
. = ALIGN(4);
9091
*(.ARM.extab* .gnu.linkonce.armextab.*)
92+
. = ALIGN(4);
9193
} >FLASH
9294
.ARM (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
9395
{
96+
. = ALIGN(4);
9497
__exidx_start = .;
9598
*(.ARM.exidx*)
9699
__exidx_end = .;
100+
. = ALIGN(4);
97101
} >FLASH
98102

99103
.preinit_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
100104
{
105+
. = ALIGN(4);
101106
PROVIDE_HIDDEN (__preinit_array_start = .);
102107
KEEP (*(.preinit_array*))
103108
PROVIDE_HIDDEN (__preinit_array_end = .);
109+
. = ALIGN(4);
104110
} >FLASH
105111
.init_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
106112
{
113+
. = ALIGN(4);
107114
PROVIDE_HIDDEN (__init_array_start = .);
108115
KEEP (*(SORT(.init_array.*)))
109116
KEEP (*(.init_array*))
110117
PROVIDE_HIDDEN (__init_array_end = .);
118+
. = ALIGN(4);
111119
} >FLASH
112120
.fini_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
113121
{
122+
. = ALIGN(4);
114123
PROVIDE_HIDDEN (__fini_array_start = .);
115124
KEEP (*(SORT(.fini_array.*)))
116125
KEEP (*(.fini_array*))
117126
PROVIDE_HIDDEN (__fini_array_end = .);
127+
. = ALIGN(4);
118128
} >FLASH
119129

120130
/* used by the startup to initialize data */

system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/linker/stm32h745xx_flash_CM7.ld

+10
Original file line numberDiff line numberDiff line change
@@ -87,34 +87,44 @@ SECTIONS
8787

8888
.ARM.extab (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
8989
{
90+
. = ALIGN(4);
9091
*(.ARM.extab* .gnu.linkonce.armextab.*)
92+
. = ALIGN(4);
9193
} >FLASH
9294
.ARM (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
9395
{
96+
. = ALIGN(4);
9497
__exidx_start = .;
9598
*(.ARM.exidx*)
9699
__exidx_end = .;
100+
. = ALIGN(4);
97101
} >FLASH
98102

99103
.preinit_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
100104
{
105+
. = ALIGN(4);
101106
PROVIDE_HIDDEN (__preinit_array_start = .);
102107
KEEP (*(.preinit_array*))
103108
PROVIDE_HIDDEN (__preinit_array_end = .);
109+
. = ALIGN(4);
104110
} >FLASH
105111
.init_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
106112
{
113+
. = ALIGN(4);
107114
PROVIDE_HIDDEN (__init_array_start = .);
108115
KEEP (*(SORT(.init_array.*)))
109116
KEEP (*(.init_array*))
110117
PROVIDE_HIDDEN (__init_array_end = .);
118+
. = ALIGN(4);
111119
} >FLASH
112120
.fini_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
113121
{
122+
. = ALIGN(4);
114123
PROVIDE_HIDDEN (__fini_array_start = .);
115124
KEEP (*(SORT(.fini_array.*)))
116125
KEEP (*(.fini_array*))
117126
PROVIDE_HIDDEN (__fini_array_end = .);
127+
. = ALIGN(4);
118128
} >FLASH
119129

120130
/* used by the startup to initialize data */

system/Drivers/CMSIS/Device/ST/STM32H7xx/Source/Templates/gcc/linker/stm32h747xg_flash_CM7.ld

+10
Original file line numberDiff line numberDiff line change
@@ -87,34 +87,44 @@ SECTIONS
8787

8888
.ARM.extab (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
8989
{
90+
. = ALIGN(4);
9091
*(.ARM.extab* .gnu.linkonce.armextab.*)
92+
. = ALIGN(4);
9193
} >FLASH
9294
.ARM (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
9395
{
96+
. = ALIGN(4);
9497
__exidx_start = .;
9598
*(.ARM.exidx*)
9699
__exidx_end = .;
100+
. = ALIGN(4);
97101
} >FLASH
98102

99103
.preinit_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
100104
{
105+
. = ALIGN(4);
101106
PROVIDE_HIDDEN (__preinit_array_start = .);
102107
KEEP (*(.preinit_array*))
103108
PROVIDE_HIDDEN (__preinit_array_end = .);
109+
. = ALIGN(4);
104110
} >FLASH
105111
.init_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
106112
{
113+
. = ALIGN(4);
107114
PROVIDE_HIDDEN (__init_array_start = .);
108115
KEEP (*(SORT(.init_array.*)))
109116
KEEP (*(.init_array*))
110117
PROVIDE_HIDDEN (__init_array_end = .);
118+
. = ALIGN(4);
111119
} >FLASH
112120
.fini_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
113121
{
122+
. = ALIGN(4);
114123
PROVIDE_HIDDEN (__fini_array_start = .);
115124
KEEP (*(SORT(.fini_array.*)))
116125
KEEP (*(.fini_array*))
117126
PROVIDE_HIDDEN (__fini_array_end = .);
127+
. = ALIGN(4);
118128
} >FLASH
119129

120130
/* used by the startup to initialize data */

0 commit comments

Comments
 (0)