Skip to content

chore(u5): update to latest STM32CubeU5 v1.8.0 #2768

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8,325 changes: 4,161 additions & 4,164 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u535xx.h

Large diffs are not rendered by default.

8,551 changes: 4,274 additions & 4,277 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u545xx.h

Large diffs are not rendered by default.

10,287 changes: 5,142 additions & 5,145 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u575xx.h

Large diffs are not rendered by default.

10,521 changes: 5,259 additions & 5,262 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u585xx.h

Large diffs are not rendered by default.

10,709 changes: 5,353 additions & 5,356 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u595xx.h

Large diffs are not rendered by default.

12,823 changes: 6,410 additions & 6,413 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u599xx.h

Large diffs are not rendered by default.

10,943 changes: 5,470 additions & 5,473 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u5a5xx.h

Large diffs are not rendered by default.

13,057 changes: 6,527 additions & 6,530 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u5a9xx.h

Large diffs are not rendered by default.

11,323 changes: 5,660 additions & 5,663 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u5f7xx.h

Large diffs are not rendered by default.

13,193 changes: 6,595 additions & 6,598 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u5f9xx.h

Large diffs are not rendered by default.

11,557 changes: 5,777 additions & 5,780 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u5g7xx.h

Large diffs are not rendered by default.

13,427 changes: 6,712 additions & 6,715 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u5g9xx.h

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Include/stm32u5xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,11 @@
#endif /* USE_HAL_DRIVER */

/**
* @brief CMSIS Device version number 1.4.1
* @brief CMSIS Device version number 1.4.2
*/
#define __STM32U5_CMSIS_VERSION_MAIN (0x01U) /*!< [31:24] main version */
#define __STM32U5_CMSIS_VERSION_SUB1 (0x04U) /*!< [23:16] sub1 version */
#define __STM32U5_CMSIS_VERSION_SUB2 (0x01U) /*!< [15:8] sub2 version */
#define __STM32U5_CMSIS_VERSION_SUB2 (0x02U) /*!< [15:8] sub2 version */
#define __STM32U5_CMSIS_VERSION_RC (0x00U) /*!< [7:0] release candidate */
#define __STM32U5_CMSIS_VERSION ((__STM32U5_CMSIS_VERSION_MAIN << 24U)\
|(__STM32U5_CMSIS_VERSION_SUB1 << 16U)\
Expand Down
44 changes: 31 additions & 13 deletions system/Drivers/CMSIS/Device/ST/STM32U5xx/Release_Notes.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,34 @@ <h1 id="release-notes-for-stm32u5xx-cmsis">Release Notes for <mark> STM32U5xx C
<div class="col-sm-12 col-lg-8">
<h1 id="update-history"><strong>Update History</strong></h1>
<div class="collapse">
<input type="checkbox" id="collapse-section8" checked aria-hidden="true"> <label for="collapse-section8" checked aria-hidden="true"><strong>V1.4.1 / 30-October-2024</strong></label>
<input type="checkbox" id="collapse-section9" checked aria-hidden="true"> <label for="collapse-section9" checked aria-hidden="true"><strong>V1.4.2 / 04-June-2025</strong></label>
<div>
<h2 id="main-changes">Main Changes</h2>
<ul>
<li>General updates to fix known defects and implementation enhancements.</li>
<li>Remove the internal CRC registers from defined CMSIS CRC structure (CRC_TypeDef).</li>
<li>Allow redefinition of the macro ‘VECT_TAB_OFFSET’ externally from the IDE, makefile, or command line.</li>
<li>Align the JPEG base address in Secure mode with the one defined for Non-Secure mode.</li>
<li>Add specific gcc linker files for STM32U5A5xx devices.</li>
<li>Increase the total SRAM size in STM32U5G9 linker file template to include SRAM6 size.</li>
</ul>
<h2 id="backward-compatibility">Backward Compatibility</h2>
<ul>
<li>N/A</li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section8" aria-hidden="true"> <label for="collapse-section8" aria-hidden="true"><strong>V1.4.1 / 30-October-2024</strong></label>
<div>
<h2 id="main-changes-1">Main Changes</h2>
<ul>
<li>General updates to fix known defects and implementation enhancements.</li>
<li>Fix TAMP_CR3_ITAMP7NOER bit definition to be aligned with reference manual.</li>
<li>Add missing USB_OTG_GINTSTS_RSTDET bit definition.</li>
<li>Align USB OTG bit definition with reference manual.</li>
</ul>
<h2 id="backward-compatibility">Backward Compatibility</h2>
<h2 id="backward-compatibility-1">Backward Compatibility</h2>
<ul>
<li>N/A</li>
</ul>
Expand All @@ -48,7 +66,7 @@ <h2 id="backward-compatibility">Backward Compatibility</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section7" aria-hidden="true"> <label for="collapse-section7" checked aria-hidden="true"><strong>V1.4.0 / 13-February-2024</strong></label>
<div>
<h2 id="main-changes-1">Main Changes</h2>
<h2 id="main-changes-2">Main Changes</h2>
<p><strong>CMSIS Device</strong> Maintenance Release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual)</p>
<ul>
<li>Add Bits definition for RNG_NSCR register for RNG noise source control</li>
Expand All @@ -61,7 +79,7 @@ <h2 id="main-changes-1">Main Changes</h2>
<li>Fix wrong declaration of g_pfnVectors size in GCC <strong>startup_stm32u5XXxx.s</strong> files</li>
<li>Update linker files to properly mark sections readonly for GCC12</li>
</ul>
<h2 id="backward-compatibility-1">Backward Compatibility</h2>
<h2 id="backward-compatibility-2">Backward Compatibility</h2>
<ul>
<li>N/A</li>
</ul>
Expand All @@ -70,12 +88,12 @@ <h2 id="backward-compatibility-1">Backward Compatibility</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section6" aria-hidden="true"> <label for="collapse-section6" checked aria-hidden="true"><strong>V1.3.1 / 20-October-2023</strong></label>
<div>
<h2 id="main-changes-2">Main Changes</h2>
<h2 id="main-changes-3">Main Changes</h2>
<p><strong>CMSIS Device</strong> Official Release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual)</p>
<ul>
<li>Update STM32U5A5xx devices list with STM32U5A5QII3Q under “stm32u5xx.h” file</li>
</ul>
<h2 id="backward-compatibility-2">Backward Compatibility</h2>
<h2 id="backward-compatibility-3">Backward Compatibility</h2>
<ul>
<li>N/A</li>
</ul>
Expand All @@ -84,7 +102,7 @@ <h2 id="backward-compatibility-2">Backward Compatibility</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section5" aria-hidden="true"> <label for="collapse-section5" checked aria-hidden="true"><strong>V1.3.0 / 09-June-2023</strong></label>
<div>
<h2 id="main-changes-3">Main Changes</h2>
<h2 id="main-changes-4">Main Changes</h2>
<p><strong>CMSIS Device</strong> Official Release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual)</p>
<ul>
<li><strong>Support of new STM32U5F9xx, STM32U5G9xx, STM32U5F7xx and STM32U5G7xx devices</strong>:
Expand All @@ -94,7 +112,7 @@ <h2 id="main-changes-3">Main Changes</h2>
<li>Add linker files for EWARM and STM32CubeIDE toolchains of STM32U5F9xx/STM32U5G9xx/STM32U5F7xx/STM32U5G7xx devices</li>
</ul></li>
</ul>
<h2 id="backward-compatibility-3">Backward Compatibility</h2>
<h2 id="backward-compatibility-4">Backward Compatibility</h2>
<ul>
<li>N/A</li>
</ul>
Expand All @@ -103,7 +121,7 @@ <h2 id="backward-compatibility-3">Backward Compatibility</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section4" aria-hidden="true"> <label for="collapse-section4" checked aria-hidden="true"><strong>V1.2.0 / 08-June-2023</strong></label>
<div>
<h2 id="main-changes-4">Main Changes</h2>
<h2 id="main-changes-5">Main Changes</h2>
<p><strong>CMSIS Device</strong> Official Release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual)</p>
<ul>
<li><strong>Support of stm32u535xx and stm32u545xx devices</strong>:
Expand Down Expand Up @@ -156,7 +174,7 @@ <h2 id="main-changes-4">Main Changes</h2>
<li>Rename ADC4_PW_VREFSECSMP to ADC4_PWRR_VREFSECSMP</li>
</ul></li>
</ul>
<h2 id="backward-compatibility-4">Backward Compatibility</h2>
<h2 id="backward-compatibility-5">Backward Compatibility</h2>
<ul>
<li>N/A</li>
</ul>
Expand All @@ -165,7 +183,7 @@ <h2 id="backward-compatibility-4">Backward Compatibility</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section3" aria-hidden="true"> <label for="collapse-section3" checked aria-hidden="true"><strong>V1.1.0 / 16-February-2022</strong></label>
<div>
<h2 id="main-changes-5">Main Changes</h2>
<h2 id="main-changes-6">Main Changes</h2>
<ul>
<li><strong>CMSIS Device</strong> Maintenance Release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual)
<ul>
Expand Down Expand Up @@ -195,7 +213,7 @@ <h2 id="main-changes-5">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section2" aria-hidden="true"> <label for="collapse-section2" checked aria-hidden="true"><strong>V1.0.1 / 01-October-2021</strong></label>
<div>
<h2 id="main-changes-6">Main Changes</h2>
<h2 id="main-changes-7">Main Changes</h2>
<ul>
<li>Rename OTG_FS_BASE_NS to USB_OTG_FS_BASE_NS define</li>
<li>Rename OTG_FS_BASE_S to USB_OTG_FS_BASE_S define</li>
Expand All @@ -207,7 +225,7 @@ <h2 id="main-changes-6">Main Changes</h2>
<div class="collapse">
<input type="checkbox" id="collapse-section1" aria-hidden="true"> <label for="collapse-section1" checked aria-hidden="true"><strong>V1.0.0 / 28-June-2021</strong></label>
<div>
<h2 id="main-changes-7">Main Changes</h2>
<h2 id="main-changes-8">Main Changes</h2>
<ul>
<li>First official release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual)</li>
</ul>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
/*
******************************************************************************
**
** File : LinkerScript.ld
**
** Author : STM32CubeIDE
**
** Abstract : Linker script for STM32U5A5xJ Device from STM32U5 series
** 4096Kbytes FLASH
** 2512Kbytes RAM
**
** Set heap size, stack size and stack location according
** to application requirements.
**
** Set memory bank area and size if external memory is used.
**
** Target : STMicroelectronics STM32
**
** Distribution: The file is distributed as is without any warranty
** of any kind.
**
*****************************************************************************
** @attention
**
** Copyright (c) 2024 STMicroelectronics.
** All rights reserved.
**
** This software is licensed under terms that can be found in the LICENSE file
** in the root directory of this software component.
** If no LICENSE file comes with this software, it is provided AS-IS.
**
*****************************************************************************
*/

/* Entry Point */
ENTRY(Reset_Handler)

/* Highest address of the user mode stack */
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */

_Min_Heap_Size = 0x200; /* required amount of heap */
_Min_Stack_Size = 0x400; /* required amount of stack */

/* Memories definition */
MEMORY
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 2496K
SRAM4 (xrw) : ORIGIN = 0x28000000, LENGTH = 16K
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 4096K
}

/* Sections */
SECTIONS
{
/* The startup code into "FLASH" Rom type memory */
.isr_vector :
{
KEEP(*(.isr_vector)) /* Startup code */
} >FLASH

/* The program code and other data into "FLASH" Rom type memory */
.text :
{
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
*(.glue_7) /* glue arm to thumb code */
*(.glue_7t) /* glue thumb to arm code */
*(.eh_frame)

KEEP (*(.init))
KEEP (*(.fini))

_etext = .; /* define a global symbols at end of code */
} >FLASH

/* Constant data into "FLASH" Rom type memory */
.rodata :
{
*(.rodata) /* .rodata sections (constants, strings, etc.) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
} >FLASH

.ARM.extab (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
{
*(.ARM.extab* .gnu.linkonce.armextab.*)
} >FLASH
.ARM (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
{
__exidx_start = .;
*(.ARM.exidx*)
__exidx_end = .;
} >FLASH

.preinit_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
{
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP (*(.preinit_array*))
PROVIDE_HIDDEN (__preinit_array_end = .);
} >FLASH

.init_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
{
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array*))
PROVIDE_HIDDEN (__init_array_end = .);
} >FLASH

.fini_array (READONLY) : /* The READONLY keyword is only supported in GCC11 and later, remove it if using GCC10 or earlier. */
{
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP (*(SORT(.fini_array.*)))
KEEP (*(.fini_array*))
PROVIDE_HIDDEN (__fini_array_end = .);
} >FLASH

/* Used by the startup to initialize data */
_sidata = LOADADDR(.data);

/* Initialized data sections into "RAM" Ram type memory */
.data :
{
_sdata = .; /* create a global symbol at data start */
*(.data) /* .data sections */
*(.data*) /* .data* sections */
*(.RamFunc) /* .RamFunc sections */
*(.RamFunc*) /* .RamFunc* sections */

_edata = .; /* define a global symbol at data end */
} >RAM AT> FLASH

/* Uninitialized data section into "RAM" Ram type memory */
.bss :
{
/* This is used by the startup in order to initialize the .bss section */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
*(.bss*)
*(COMMON)

_ebss = .; /* define a global symbol at bss end */
__bss_end__ = _ebss;
} >RAM

/* User_heap_stack section, used to check that there is enough "RAM" Ram type memory left */
._user_heap_stack :
{
. = ALIGN(8);
PROVIDE ( end = . );
PROVIDE ( _end = . );
. = . + _Min_Heap_Size;
. = . + _Min_Stack_Size;
. = ALIGN(8);
} >RAM

/* Remove information from the compiler libraries */
/DISCARD/ :
{
libc.a ( * )
libm.a ( * )
libgcc.a ( * )
}

.ARM.attributes 0 : { *(.ARM.attributes) }
}
Loading