Release Notes for  STM32CubeU5 Firmware Package 

Copyright © 2021 STMicroelectronics

Purpose

STMCube is an STMicroelectronics original initiative to ease developers life by reducing development efforts, time and cost.

STM32Cube covers STM32 portfolio.

STM32Cube Version 1.x includes:

The STM32Cube firmware solution offers a straightforward API with a modular architecture, making it simple to fine tune custom applications and scalable to fit most requirements.

The HAL and LL drivers provided within this package are compliant with MISRA-C:2012 guidelines, and have been reviewed with a static analysis tool, following a process certified according to IEC 61508 systematic capability 2 level (SC2). Reports are available on demand.

STM32Cube
STM32Cube

The drivers provided within this package support the STM32U535 / STM32U545 / STM32U575 / STM32U585 / STM32U595 / STM32U5A5 / STM32U599 / STM32U5A9 / STM32U5F7 / STM32U5G7 / STM32U5F9 / STM32U5G9 lines.

Update History

Main Changes

  • General updates to fix known defects and implementation enhancements.
  • Upgrade cmsis_rtos_threadx version to tx-cmsis-1.4.1.260410.
  • Upgrade FileX version to filex-6.4.0.260403.
  • Upgrade filex_drivers version to filex-6.4.0.260403.
  • Upgrade LevelX version to levelx-6.4.0.260403.
  • Upgrade levelx_drivers version to levelx-6.4.0.260403.
  • Upgrade NetXduo version to netxduo-6.4.0.260325.
  • Upgrade netx_drivers version to netxduo-6.4.0.260325.
  • Upgrade ThreadX version to threadx-6.4.0.260327.
  • Upgrade USBX version to usbx-6.4.0.260508.
  • Upgrade usbx_stm32_device_controllers version to usbx-6.4.0.260508.
  • Upgrade usbx_stm32_host_controllers version to usbx-6.4.0.260508.
  • Upgrade mbed-crypto version to mbed-tls-v3.6.6_20260511.
  • Upgrade mcuboot version to v1.7.2.40.
  • Upgrade STM32_TouchSensing_Library version to v2.2.14.
  • Upgrade STM32_USBPD_Core_Library version to v4.3.3.
  • Upgrade STM32_USBPD_Device_Library version to u5_v3.3.2.
  • Upgrade open_bootloader version to v6.1.3.
  • Upgrade STM32_Network_Library version to v2.3.1.

Contents

CMSIS Drivers updates

  • Align RNG NIST compliance values with the RNG register values defined in the application note.
  • Remove the I2C_CR1_SWRST bit macros.
  • Set stack limit (MSPLIM) in CMSIS Device templates.
  • Fix wrong comments related to RCC_CCIPR3 masks in stm32u5x5xx.h files.
  • Fix wrong comments at the head of startup_stm32u535/45xx.s files.

HAL/LL Drivers updates

  • Fix Misra-C 2012 Rule 8.13 violations.
  • Fix Misra-C 2012 Rule 12.2 violations.
  • HAL DCACHE driver
    • Ensure DCACHE2 invalidation within the initialization phase.
  • HAL RTC driver
    • Replace WRITE_REG() with SET_BIT() in HAL_RTCEx_SetBootHardwareKey() API to avoid overwriting other bit fields.
    • Invoke SET_BIT() instead of WRITE_REG() in HAL_RTCEx_BKUPErase() and HAL_RTCEx_BKUPBlock_Enable() to avoid overwriting other bit fields.
    • Fix typos in RTC_FLAG_INT_TAMP_x names in the definition of RTC_FLAG_INT_TAMP_ALL macro.
  • HAL ADC driver
    • Remove incorrect double call of LL_ADC_REG_StartConversion() API.
    • Align arguments of macro __HAL_ADC_DIGITAL_SCALE with __LL_ADC_DIGITAL_SCALE.
  • HAL CRYP driver
    • Fix compilation error in hal_cryp_ex.c.
    • Prevent reading outside the boundaries of the local array for all data types.
    • Add padding processing when the data size is not a multiple of a word (32-bit), taking into account the data swapping type.
    • Fix Coverity issue INTEGER_OVERFLOW.
    • Remove compilation condition on tickstart local variable declaration in HAL_CRYP_Init() API.
    • Fix Misra-C 2012 Rules 9.1, 10.1, 10.4 and 12.1 violations.
    • Fix CCM partial output handling for non 32-bit aligned payloads.
    • SA0076 fixed.
  • HAL DMA driver
    • Fix compilation warning detected with STM32CubeIDE in HAL_DMAEx_List_ConvertQToDynamic() API.
  • HAL LPTIM driver
    • Implement a software workaround for the LPTIM interrupt limitation.
  • HAL FLASH driver
    • Separate secure and non-secure flash locking with new dedicated HAL APIs to avoid TrustZone access conflicts.
  • HAL PKA driver
    • Add LL_PKA_IsActiveFlag_INITOK() API to check the PKA initialization status.
    • Handle the use case of data not multiple of 4 bytes for PKA Modular Exponentiation Fast Mode.
  • HAL FDCAN driver
    • Fix GetIndex computation overflow in overwrite mode.
    • Fix MISRA-C 2012 Rule 2.2 violation.
    • Fix confusion between two timeout definitions in HAL FDCAN driver.
  • HAL/LL FMC driver
    • Remove unused local variables.
    • Handle case when HAL_NAND_Read_Status returns NAND_ERROR on other NAND APIs.
    • Remove 8-bit support from FMC NOR driver.
  • HAL I2C driver
    • Improve and simplify IsDeviceReady function.
  • HAL/LL LPUART driver
    • Update LL LPUART baud rate range.
    • Fix transfer count underflow when using polling mode.
  • HAL LTDC driver
    • Fix Coverity warnings.
    • Update to avoid compilation errors when the DSI module is not enabled.
  • HAL OCTOSPI driver
    • Add HAL_OSPI_IsMemoryMapped() API.
    • Update HAL_OSPIM_Config() API: do not enable mux when Port Low or High is not activated (Quad mode).
  • HAL RCC driver
    • Remove resetting CSR flags in HAL_RCC_DeInit() API to keep the reset cause after RCC deinitialization.
    • Add a note to clarify that DCACHE2 clock should be enabled only when GPU2D is used.
  • HAL/LL RNG driver
    • Update HAL_RNGEx_GetConfig() API to get NoiseSource.
    • Update the seed error check flag in HAL_RNG_GenerateRandomNumber() API.
    • Add error state check at the beginning of seed recover sequence in HAL_RNGEx_RecoverSeedError() API.
    • Add LL_RNG_SetOscNoiseSrc() and LL_RNG_GetOscNoiseSrc() APIs.
  • HAL SDMMC driver
    • Fix the cmd input parameter in the cmd argument structure to support the input size byte as block and byte mode according to the block mode argument in HAL_SDIO_ReadExtended() and HAL_SDIO_WriteExtended() APIs.
    • Support SD card V1 within HAL_SD.
    • Handle frequencies below 3 MHZ correctly in HAL_SD_InitCard() API.
    • Fix Misra-C Rule 10.4 violation in SD and MMC drivers.
    • Fix Misra-C 10.3 violation in SDIO driver.
    • Fix Coverity violations in SDIO and MMC drivers.
  • HAL smartcard driver
    • Update configuration sequence to better fit smartcard specifications.
  • HAL SPI driver
    • Update sConfig parameter description of HAL_SPIEx_SetConfigAutonomousMode() API.
  • HAL/LL TIM driver
    • Remove channel 2 activation in LL_TIM_HALLSENSOR_Init() API.
    • Fix UIF flag set after TIM_Base_SetConfig().
  • HAL/LL UART driver
    • Fix transfer count underflow when using polling mode.
    • Align UART baud rate macros definition between LL and HAL.
    • Remove __HAL_UART_DISABLE() call from the HAL_UART_DeInit() API.
    • Update LL LPUART baud rate range"
  • LL UCPD driver
    • Add LL UCPD LL_UCPD_IsActiveFlag_RxErr() API.
    • Correct wording in some LL API LL_UCPD_IsActiveFlag_xxx function descriptions.
  • HAL/LL USB driver
    • Ensure NYET/NAK Interrupts are enabled.
    • Remove __HAL_LOCK() from HAL_Callbacks APIs in hal_pcd and hal_hcd.
    • Activate the scatter gather mode constraint.
    • Rework port device connect/disconnect in HCD_Port_IRQHandler() function.
    • Add HCD_HS_PHY_EMBEDDED and HCD_PHY_UTMI macros.
    • Update PCD_EP_ISR_Handler() function to avoid out-of-bound possible read.
    • Fix USB_DRD_SET_CHEP_CNT_RX_REG macro to update COUNTn_RX register in single operation.
    • Add get frame number support.

BSP Drivers updates

  • mx_wifi:
    • Replace “MX_WIFI_BARE_OS_H” usage as a compilation switch with “MX_WIFI_BARE_OS”.
    • Fix errors seen with static analyser and C++ compilers.

Middlewares updates

  • Upgrade cmsis_rtos_threadx version to tx-cmsis-1.4.1.260410.
  • Upgrade FileX version to filex-6.4.0.260403.
  • Upgrade filex_drivers version to filex-6.4.0.260403.
  • Upgrade LevelX version to levelx-6.4.0.260403.
  • Upgrade levelx_drivers version to levelx-6.4.0.260403.
  • Upgrade NetXduo version to netxduo-6.4.0.260325.
  • Upgrade netx_drivers version to netxduo-6.4.0.260325.
  • Upgrade ThreadX version to threadx-6.4.0.260327.
  • Upgrade USBX version to usbx-6.4.0.260508.
  • Upgrade usbx_stm32_device_controllers version to usbx-6.4.0.260508.
  • Upgrade usbx_stm32_host_controllers version to usbx-6.4.0.260508.
  • Upgrade mbed-crypto version to mbed-tls-v3.6.6_20260511.
  • Upgrade mcuboot version to v1.7.2.40.
  • Upgrade STM32_TouchSensing_Library version to v2.2.14.
  • Upgrade STM32_USBPD_Core_Library version to v4.3.3.
  • Upgrade STM32_USBPD_Device_Library version to u5_v3.3.2.
  • Upgrade open_bootloader version to v6.1.3.
  • Upgrade STM32_Network_Library version to v2.3.1.

Utilities updates

  • lpbam:
    • COMMON : Fix DMA next node address when calling ADV_LPBAM_Q_SetDataConfig(), ADV_LPBAM_Q_SetTransferEventGeneration() and ADV_LPBAM_Q_SetTriggerConfig() functions.

Projects updates

  • Middleware applications
    • Align applications with Azure RTOS components upgrade.

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

Name Version Release notes
Projects v1.9.0 release notes

Notes:

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply Please refer to AN5347 for more details
  • The MicroLIB option should be enabled to display messages in HyperTerminal in the MDK-ARM projects. Detailed list is in the Project’s release notes.
  • The user should unplug then plug STLINK connection on Slave Board to perform a power-on-reset when running I2C_WakeUpFromStop example on NUCLEO-U575ZI-Q board.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
CMSIS v5.9.0_fix_620_dsp_v1.10.0_nn_v3.1.0_no_doc release notes
STM32U5xx CMSIS v1.4.3 release notes
STM32U5xx HAL v1.6.3 release notes
STM32U5xx NUCLEO v1.2.3 release notes
BSP STM32U575I-EV v1.4.1 release notes
BSP B-U585I-IOT02A v1.4.2 release notes
BSP STM32U5x9J-DK v1.3.1 release notes
BSP STM32U5G9J-DK2 v1.2.1 release notes
BSP aps512xx v1.0.2 release notes
BSP aps6408 v1.0.2 release notes
BSP Common v7.2.1 release notes
BSP cs42l51 v2.0.6 release notes
BSP gt911 v1.0.0 release notes
BSP hts221 v5.5.0 release notes
BSP hx8347i v2.0.3 release notes
BSP iis2mdc v1.3.0 release notes
BSP ism330dhcx v1.3.0 release notes
BSP lps22hh v1.4.0 release notes
BSP lsm6dso v1.7.0 release notes
BSP m24256 v1.0.2 release notes
BSP mfxstm32l152 v4.0.1 release notes
BSP mx_wifi v2.3.5 release notes
BSP mx25lm51245g v2.0.9 release notes
BSP mx25um51245g v1.0.1 release notes
BSP mx66uw1g45g v1.0.0 release notes
BSP ov5640 v4.0.2 release notes
BSP rk050hr18 v1.0.0 release notes
BSP sitronix v1.0.4 release notes
BSP stm32wb_at v1.0.12 release notes
BSP stts22h v1.5.0 release notes
BSP sx8651 v1.0.3 release notes
BSP tcpp0203 v1.2.2 release notes
BSP veml3235 v1.0.3 release notes
BSP veml6030 v1.0.3 release notes
BSP vl53l5cx v1.0.7 release notes
Middlewares
Name Version Release note
STM32_TouchSensing_Library v2.2.14 release notes
STM32_Network_Library v2.3.1 release notes
STM32_USBPD_Core_Library v4.3.3 release notes
STM32_USBPD_Device_Library u5_v3.3.2 release notes
mbed-crypto v3.6.6 release notes
ST modified 260511 ST release notes
mcuboot v1.7.2.40 release notes
OpenBootloader v6.1.3 release notes
ThreadX v6.4.0 release notes
ST modified 260327 ST release notes
NetXduo v6.4.0 release notes
ST modified 260325 ST release notes
USBX v6.4.0 release notes
ST modified 260508 ST release notes
FileX v6.4.0 release notes
ST modified 260403 ST release notes
LevelX v6.4.0 release notes
ST modified 260403 ST release notes
cmsis_rtos_threadx v1.4.1 release notes
Utilities
Name Version Release note
Common v1.6.1 release notes
Fonts v2.0.4 release notes
JPEG v2.0.3 release notes
GUI_INTERFACE GUI_V2.3.0 release notes
lcd v2.0.3 release notes
lpbam v1.4.2 release notes
TRACER_EMB v1.10.0 release notes
ROT_AppliConfig v1.1.6 release notes

Development toolchains and compilers

Supported Devices and boards

  • Devices:
    • STM32U5F7/STM32U5G7/STM32U5F9/STM32U5G9 devices rev Z
    • STM32U575/STM32U585 devices rev W
    • STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices rev W
    • STM32U535/STM32U545 devices rev Y
  • Boards:
    • NUCLEO-U575ZI-Q Nucleo board rev.C
    • NUCLEO-U5A5ZJ-Q Nucleo board rev.C
    • NUCLEO-U545RE-Q Nucleo board rev.D
    • STM32U575I-EV Evaluation board rev.C
    • B-U585I-IOT02A Discovery board rev.D
    • STM32U5A9J-DK Discovery board rev.B
    • STM32U5G9J-DK1 Discovery board rev.B
    • STM32U5G9J-DK2 Discovery board rev.C

Dependencies

  • This software release is compatible with:
    • STM32CubeMX version V6.12.0
    • STM32CubeProgrammer version V2.16.0
  • It is recommended to use CLI of STM32CubeProgrammer for execution of SBSFU and TFM applications, please refer to readme file of applications for more details
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server_reference.hex present in .\STM32Cube_FW_WB_V1.x.x\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_AT_Server\Binary\BLE_AT_Server_reference.hex
  • The EMW3080B MXCHIP Wi-Fi module firmware version used is V2.3.4, for more details refer to Wi-Fi example readme files which can be found at Projects\B-U585I-IOT02A under Applications\NetXDuo and \Demonstrations\IOT_HTTP_WebServer.
  • The IOT_HTTP_WebServer demonstration uses an updated version of STM32CubeU5_Demo_U585I-IOT02A_v1.2.hex binaries. To upgrade your B-U585I-IOT02A Discovery board with the required version V1.2, please visit B-U585I-IOT02A compiled demo binary
  • The EVAL Demonstration requires to have STM32CubeU5_Demo_STM32U575I-EV.hex binaries on your STM32U575I-EV Evaluation board with the required version V1.0. To upgrade your board, please visit STM32U575I-EV compiled demo binary

Known Limitations

  • Some project are not generated with STM32CubeMX tool for the exhaustive list please refer to the table available in STM32CubeProjectsList.html
  • The component “USBX/CoreSystem” must be selected alongside either “USBX/UX Host CoreStack” or “USBX/UX Device CoreStack”.
  • In NetXDuo, some configuration flags, that are not used in the STM32Cube FW package examples, might be non-functional when combined. This limitation will be fixed in upcoming releases.
  • Comment error in “MX_WIFI BSP Component” Release_Notes : “The EMW3080B MXCHIP Wi-Fi module firmware version has to be V2.3.4 instead of V2.3.4 rc 13”
  • The devices MX66UW1G45G and MX66LM1G45G are driven by the same BSP component driver.
  • The project Tx_FreeRTOS_Wrapper generates a warning (The left and right operands in tx_freertos.c are identical). This warning has no impact on the example functionality.
  • The Nx_WebServer application works only with O3 optimization with STM32CubeIDE in Debug mode and occasional page loading issues may occur. This known limitation will be fixed in upcoming releases.

Backward compatibility

  • None.

Main Changes

  • General updates to fix known defects and implementation enhancements.
  • TFM Applications are now distributed directly by the TrustedFirmware.org community and are no longer supported within the STM32CubeU5 package.
    • Consequently, the trustedfirmware Lib and STSAFE module have been removed
    • For more information on using TF-M on STM32xx please refer to following links and documentation.
    • All details and link available at tf-m-user-guide
  • Upgrade mbed-crypto Lib to use v3.6.3 (ST modified 2025-04-14).
  • Upgrade mcuboot Lib to v1.7.2.34.
  • Upgrade CMSIS Core to v5.9.0_fix_620_dsp_v1.10.0_nn_v3.1.0_no_doc: Documentation based on jQuery 1.7.1 removed
  • Add PWR_GPIO_RETENTION example.
  • Add GPIO_Demo example.
  • Code quality enhancement MISRA-C:2012 Rule-12.2.

Contents

SBOM

CMSIS Drivers updates

  • Remove the internal CRC registers from defined CMSIS CRC structure (CRC_TypeDef).
  • Allow redefinition of the macro ‘VECT_TAB_OFFSET’ externally from the IDE, makefile, or command line.
  • Align the JPEG base address in Secure mode with the one defined for Non-Secure mode.
  • Add specific gcc linker files for STM32U5A5xx devices.
  • Increase the total SRAM size in STM32U5G9 linker file template to include SRAM6 size.

HAL/LL Drivers updates

  • HAL Generic driver
    • Update HAL_SetTickFreq() API to restore current tick frequency when call to HAL_InitTick() API fails.
  • HAL/LL GPIO driver
    • Update HAL_GPIO_Init() API to add Pull down capability in analog mode.
  • HAL/LL DMA driver
    • Remove extra unused parentheses in HAL_DMA_IRQHandler() API.
    • Add attribute ((no_inline)) to DMA_List_CheckNodesBaseAddresse() API to avoid warning with GCC compiler.
    • Add DMA XferSuspendCallback initialization before starting DMA transfers in HAL UART.
    • Add initialization of callbacks in HAL_DMA_Init() API.
    • Remove the reset of Channel Linked List Address Register (CLLR) in DMA_List_BuildNode() API.
  • HAL FLASH driver
    • Replace the timeout calculation in HAL_GetTick() to determine elapsed time instead of adding a fixed timeout value.
  • HAL/LL ADC driver
    • Remove assert in HAL_ADC_ConfigChannel() API.
    • Update ADC calibration values as addresses of const data.
  • HAL/LL TIM driver
    • Update TIM_CCER_CCxE_MASK to support internal TIM Channel5 and TIM Channel6.
    • Fix complementary channel systematically disabled by TIM_OCx_SetConfig() API.
  • HAL/LL LPTIM driver
    • Fix LL_LPTIM_CC_SetChannelMode() static API to manage properly on the fly channel mode changes.
  • HAL/LL UART driver
    • Provide accurate position in RxEventCallback when ReceptionToIdle mode is used with DMA, when UART and DMA interrupts process is delayed.
  • HAL/LL USART driver
    • Solve Coverity out-of-bound memory access warning in use of USART_PRESCALER_TAB array.
  • HAL OCTOSPI driver
    • Change ChipSelectHighTime max limits to 64 to feat with specification.
  • HAL/LL SPI driver
    • Clear auto suspend flag in HAL_SPI_Receive() API.
    • Fix buffer overflow in TX interrupt service routine.
  • HAL XSPI driver
    • Add asserts to inform user when data size or address requested is not compatible with current XSPI configuration.
    • Check BUSY flag instead of TC flag in indirect mode to be sure that command is well completed (FIFO flush).
    • Add HAL_XSPI_IsMemoryMapped() API.
  • LL LPUART driver
    • Solve Coverity out-of-bound memory access warning in use of LPUART_PRESCALER_TAB array.
  • HAL/LL RTC_BKP driver
    • Complete the check on the tamper trigger configuration in HAL_RTCEx_SetTamper_IT() API to be the same as in HAL_RTCEx_SetTamper() API.
    • Add an ‘else’ block to the ‘if’ statement that checks the RTC binary mode in HAL_RTC_Init() API.
    • Remove useless second write access to TAMP->IER register from HAL_RTCEx_SetActiveTampers() API.
  • HAL CRC driver
    • Replace successive ‘if’ statements by ‘else if’ to improve checksum calculation performance in CRC_Handle_8() API.
  • HAL FMAC driver
    • Complete DMA Abort sequence in HAL_FMAC_FilterStop()
  • HAL/LL PKA driver
    • Update PKA_ModExpFastMode_Set() API to solve the issue when data is not multiple of 4 bytes for PKA Modular Exponentiation Fast Mode.
    • Add specific LL PKA API to check the PKA initialization OK status: LL_PKA_IsActiveFlag_INITOK() API.
  • HAL/LL NAND driver
    • Update bug in HAL_NAND_Read_Page_8b(), HAL_NAND_Read_Page_16b(), HAL_NAND_Read_SpareArea_8b() and HAL_NAND_Read_SpareArea_16b() APIs to ensure correct data reads.
  • HAL JPEG driver
    • Update JPEG_DMA_ContinueProcess() API to use blocking DMA abort.
    • Remove multiple volatile reads in interrupt handler in JPEG_Process() and JPEG_DMA_ContinueProcess() functions.
  • HAL USB-FS driver
    • Fix USB PCD setup and data buffers overflow (SA0035).

BSP Drivers updates

  • B-U585I-IOT02A:
    • Update B-U585I-IOT02A BSP driver to support the old VEML6030 (Light sensor).
  • STM32U5xx_Nucleo:
    • Include stdio Library for all toolchains when USE_BSP_COM_FEATURE is set.

Middlewares updates

  • Remove trustedfirmware Lib.
  • Remove STSAFE module.
  • Upgrade mbed-crypto version to v3.6.3_20250414.
  • Upgrade mcuboot version to v1.7.2.34.
  • Upgrade ThreadX, LevelX, FileX, NetXduo and USBX versions to v6.4.0.241011.
  • Upgrade cmsis_rtos_threadx to version tx-cmsis-1.3.1.250418.
  • Upgrade levelx_drivers to version v3.2.0_240909.
  • Upgrade filex_drivers to version v3.3.1_250214.
  • Upgrade netx_drivers to version v4.0.1.241018.

Projects updates

  • B-U585I-IOT02A, STM32U575I-EV
    • Solve unstability issues in OSPI/XSPI example execution.
  • B-U585I-IOT02A
    • Fix the command to set the OEM2 key for RDP2 in regression.sh script of the ‘SBSFU Boot’ application.
    • Remove TFM applications (keep only Readme files).
  • NUCLEO-U5A5ZJ-Q, NUCLEO-U545RE-Q, NUCLEO-U575ZI-Q:
    • Add GPIO_Demo example.
  • NUCLEO-U5A5ZJ-Q:
    • Add PWR GPIO_RETENTION example.

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

Name Version Release notes
Projects V1.8.0 release notes

Notes:

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply Please refer to AN5347 for more details
  • The MicroLIB option should be enabled to display messages in HyperTerminal in the MDK-ARM projects. Detailed list is in the Project’s release notes.
  • The user should unplug then Plug STLINK connection on Slave Board to perform a power-on-reset when running I2C_WakeUpFromStop example on NUCLEO-U575ZI-Q board.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
CMSIS v5.9.0_fix_620_dsp_v1.10.0_nn_v3.1.0_no_doc release notes
STM32U5xx CMSIS V1.4.2 release notes
STM32U5xx HAL V1.6.2 release notes
STM32U5xx NUCLEO V1.2.3 release notes
BSP STM32U575I-EV V1.4.1 release notes
BSP B-U585I-IOT02A V1.4.2 release notes
BSP STM32U5x9J-DK V1.3.1 release notes
BSP STM32U5G9J-DK2 V1.2.0 release notes
BSP aps512xx V1.0.2 release notes
BSP aps6408 V1.0.2 release notes
BSP Common V7.2.1 release notes
BSP cs42l51 V2.0.6 release notes
BSP gt911 V1.0.0 release notes
BSP hts221 V5.5.0 release notes
BSP hx8347i V2.0.3 release notes
BSP iis2mdc V1.3.0 release notes
BSP ism330dhcx V1.3.0 release notes
BSP lps22hh V1.4.0 release notes
BSP lsm6dso V1.7.0 release notes
BSP m24256 V1.0.2 release notes
BSP mfxstm32l152 V4.0.1 release notes
BSP mx_wifi V2.3.4 release notes
BSP mx25lm51245g V2.0.9 release notes
BSP mx25um51245g V1.0.1 release notes
BSP mx66uw1g45g V1.0.0 release notes
BSP ov5640 V4.0.2 release notes
BSP rk050hr18 V1.0.0 release notes
BSP sitronix V1.0.4 release notes
BSP stm32wb_at V1.0.12 release notes
BSP stts22h V1.5.0 release notes
BSP sx8651 V1.0.3 release notes
BSP tcpp0203 V1.2.2 release notes
BSP veml3235 V1.0.3 release notes
BSP veml6030 V1.0.3 release notes
BSP vl53l5cx V1.0.7 release notes
Middlewares
Name Version Release note
STM32_TouchSensing_Library V2.2.11 release notes
STM32_Network_Library V2.3.0 release notes
STM32_USBPD_Core_Library V4.1.2 release notes
STM32_USBPD_Device_Library u5_v3.3.0 release notes
mbed-crypto mbed-tls-v3.6.3_20250414 ST release notes
mcuboot v1.7.2.34 ST release notes
OpenBootloader V6.1.1 release notes
ThreadX threadx-6.4.0.241011 release notes
NetXduo netxduo-6.4.0.241011 release notes
USBX usbx-6.4.0.241011 release notes
FileX filex-6.4.0.241011 release notes
LevelX levelx-6.4.0.241011 release notes
cmsis_rtos_threadx tx-cmsis-1.3.1.250418 release notes
Utilities
Name Version Release note
Common V1.6.1 release notes
Fonts V2.0.4 release notes
JPEG V2.0.3 release notes
GUI_INTERFACE GUI_V2.3.0 release notes
lcd V2.0.3 release notes
lpbam V1.4.1 release notes
TRACER_EMB V1.10.0 release notes

Development toolchains and compilers

Supported Devices and boards

  • Devices:
    • STM32U5F7/STM32U5G7/STM32U5F9/STM32U5G9 devices rev Z
    • STM32U575/STM32U585 devices rev W
    • STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices rev W
    • STM32U535/STM32U545 devices rev Y
  • Boards:
    • NUCLEO-U575ZI-Q Nucleo board rev.C
    • NUCLEO-U5A5ZJ-Q Nucleo board rev.C
    • NUCLEO-U545RE-Q Nucleo board rev.D
    • STM32U575I-EV Evaluation board rev.C
    • B-U585I-IOT02A Discovery board rev.D
    • STM32U5A9J-DK Discovery board rev.B
    • STM32U5G9J-DK1 Discovery board rev.B
    • STM32U5G9J-DK2 Discovery board rev.C

Dependencies

  • This software release is compatible with:
    • STM32CubeMX version V6.12.0
    • STM32CubeProgrammer version V2.16.0
  • It is recommended to use CLI of STM32CubeProgrammer for execution of SBSFU and TFM applications, please refer to readme file of applications for more details
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server_reference.hex present in .\STM32Cube_FW_WB_V1.x.x\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_AT_Server\Binary\BLE_AT_Server_reference.hex
  • The EMW3080B MXCHIP Wi-Fi module firmware version used is V2.3.4, for more details refer to Wi-Fi example readme files which can be found at Projects\B-U585I-IOT02A under Applications\NetXDuo and \Demonstrations\IOT_HTTP_WebServer.
  • The IOT_HTTP_WebServer demonstration uses an updated version of STM32CubeU5_Demo_U585I-IOT02A_v1.2.hex binaries. To upgrade your B-U585I-IOT02A Discovery board with the required version V1.2, please visit B-U585I-IOT02A compiled demo binary
  • The EVAL Demonstration requires to have STM32CubeU5_Demo_STM32U575I-EV.hex binaries on your STM32U575I-EV Evaluation board with the required version V1.0. To upgrade your board, please visit STM32U575I-EV compiled demo binary

Known Limitations

  • Some project are not generated with STM32CubeMX tool for the exhaustive list please refer to the table available in STM32CubeProjectsList.html
  • The component “USBX/CoreSystem” must be selected alongside either “USBX/UX Host CoreStack” or “USBX/UX Device CoreStack”.
  • In NetXDuo, some configuration flags, that are not used in the STM32Cube FW package examples, might be non-functional when combined. This limitation will be fixed in upcoming releases.
  • Comment error in “MX_WIFI BSP Component” Release_Notes : “The EMW3080B MXCHIP Wi-Fi module firmware version has to be V2.3.4 instead of V2.3.4 rc 13”
  • The devices MX66UW1G45G and MX66LM1G45G are driven by the same BSP component driver.
  • The project Tx_FreeRTOS_Wrapper generates a warning (The left and right operands in tx_freertos.c are identical). This warning has no impact on the example functionality.
  • The Nx_WebServer application works only with O3 optimization with STM32CubeIDE in Debug mode and occasional page loading issues may occur. This known limitation will be fixed in upcoming releases.

Backward compatibility

  • None.

Main Changes

  • General updates to fix known defects and implementation enhancements.
  • Upgrade AZURE RTOS Middlewares version to v6.4.0.
  • Upgrade mcuboot version to v1.7.2.25.
  • Upgrade trustedfirmware version to v1.3.0.14.
  • Upgrade STSAFE version to v3.3.7.
  • Upgrade cmsis_core version to v5.9.0_dsp_v1.10.0_nn_v3.1.0.

Contents

CMSIS Drivers updates

  • Fix TAMP_CR3_ITAMP7NOER bit definition to be aligned with reference manual.
  • Add missing USB_OTG_GINTSTS_RSTDET bit definition.
  • Align USB OTG bit definition with reference manual.

HAL/LL Drivers updates

  • HAL/LL ADC driver
    • Add LL_ADC_IsActiveFlag_LDORDY() macro to get ADC internal voltage regulator ready flag.
    • Set return value of LL_ADC_GetOffsetChannel() to format LL_ADC_CHANNEL_X.
  • HAL/LL CRYP driver
    • Update CRYP driver to use correctly the wrapped key in decryption mode.
  • HAL/LL GFXMMU driver
    • Update HAL_GFXMMU_GetState() API to fix wrong interrupt management.
  • HAL/LL GTZC driver
    • Update HAL_GTZC_TZSC_MPCWM_ConfigMemAttributes() API to use correct size in case of FMC_BANK1.
  • HAL/LL IWDG driver
    • Calculate the maximum Timeout period HAL_IWDG_DEFAULT_TIMEOUT based on a Prescaler=128 at LSI frequency=32kHz.
  • HAL/LL OPAMP driver
    • Rename the define of non-inverting OPAMP input connected to DAC output.
  • HAL/LL OSPI driver
    • Fix issue related to second XSPI instance management inside XSPIM.
  • HAL/LL PKA driver
    • Remove static global variables and add them to PKA handle to be compliant with HAL coding rules.
    • Use PKA RAM erase timeout in HAL_PKA_Init() and HAL_PKA_MspDeInit() APIs to avoid SAES decryption failure after PKA deinitialization.
  • HAL/LL PWR driver
    • Add guidance to HAL_PWR_ConfigAttributes() API.
    • Enhance Wake-Up Interrupt Handling for STOP3 Mode.
  • HAL/LL RCC driver
    • Add missing call to UNUSED() macro to avoid compilation warnings related to the unused arguments.
    • Add guidance to HAL_RCC_ConfigAttributes() API.
  • HAL/LL TIM driver
    • Include Dithering mode in IS_TIM_PERIOD macro.
    • Fix update flag (UIF) clearing in TIM_Base_SetConfig.
  • HAL/LL DMA driver
    • Update LL_DMA_CreateLinkNode() API to add missing assert checks.
    • Update HAL_DMAEx_List_BuildNode() API to remove duplicated assert checks.
    • Update DMA_List_BuildNode() API to clear CLLR register of the last node of a queue.
  • HAL FDCAN driver
    • Fix assert issue when Standard or Extended filter numbers are zero.
    • Fix the incorrect comments.
  • HAL/LL RNG driver
    • Add LL_RNG_SetNoiseConfig() API to find the recommended value for NIST compliance.
    • Update HAL_RNG_GenerateRandomNumber() and HAL_RNGEx_RecoverSeedError() APIs to distinguish between RecoverSeedError and SeedError.
  • HAL/LL RTC_BKP driver
    • Avoid entering initialization mode when calling HAL_RTC_Init() if the RTC is already configured in binary mode to prevent unwanted reset of the SSR register.
  • HAL/LL SDMMC driver
    • Add missing eMMC RPMB APIs.
    • Add support of customized SDIO Card enumeration sequence.
  • HAL/LL SPI driver
    • Add protection against wrong transfer size during transmission.
    • Update HAL_SPI_TransmitReceive_DMA() API to check coherence between data size and DMA TX configuration.
    • Fix CRC computation to feat with standard CRC16-CCITT (XMODEM).
  • HAL I2C driver
    • Remove tmp variable from I2C_TransferConfig() function.
    • Update HAL_I2C_IsDeviceReady() API to take into account the number of trials.
  • HAL SYSCFG driver
    • Rename APIs HAL_SYSCFG_EnableIOAnalogSwitchBooster(),HAL_SYSCFG_DisableIOAnalogSwitchBooster(), HAL_SYSCFG_EnableIOAnalogSwitchVoltageSelection() and HAL_SYSCFG_DisableIOAnalogSwitchVoltageSelection() to be aligned with MISRAC2012 rule 5.1
  • LL SYSTEM driver
    • Enhance LL System Source Code.
    • Fix LL_VREFBUF_VOLTAGE_SCALE3 value.
  • HAL UART driver
    • Ensure UART Rx buffer is not written beyond boundaries in case of RX FIFO reception in Interrupt mode.
    • Align prescaler value used by default in UART_GET_DIV_FACTOR macro with RM.
    • Ensure TC flag is cleared prior starting DMA transmit.
    • Remove reference to HAL_UARTEx_WakeupCallback and to HAL_UART_WAKEUP_CB_ID defines.
    • Add HAL_UART_RXEVENT_IDLE event notification to user in case of HAL_UARTEx_ReceiveToIdle_DMA() use with Circular DMA, even if occurring just after TC event.
    • Apply DMAT/DMAR specific management for HAL_UARTEx_ReceiveToIdle() and HAL_UARTEx_ReceiveToIdle_IT() APIs.
    • Correct DMA Rx abort procedure impact on ongoing Tx transfer in polling mode.
    • Correct wrong comment in HAL_UARTEx_DisableFifoMode() API.
  • HAL USART driver
    • Align prescaler value used by default in USART_GET_DIV_FACTOR macro with RM.
    • Correct wrong comment in HAL_USARTEx_DisableFifoMode() API.
    • Improve the visibility of the SPI function support in HAL USART description and comments.
  • HAL SMARTCARD driver
    • Implement workaround to resolve HW bug.
  • HAL XSPI driver
    • Change XSPI_WaitFlagStateUntilTimeout() API handle state to HAL_XSPI_STATE_READY in case of Timeout to avoid blocking driver operation.
    • Correct comments for XSPI_MemorySize and XSPI_ChipSelectBoundary related definitions.
    • Update management of SSHIFT when DTR is activated for data transfer in XSPI_ConfigCmd() API.
    • Update state verification inside Abort APIs.
  • HAL/LL USB driver
    • hal_hcd.c/ll_usb.c: fix USB data toggle.
    • hal_pcd.c/ll_usb.c: fix added to support bulk transfer in double buffer mode.
    • hal_hcd.c: ensure to reactivate the usb channel in case of transfer error.
    • Fix the condition on EONUM flag of DOEPCTLx register in HAL_PCD_IRQHandler() to correctly check on the frame number parity.

BSP Drivers updates

  • ov5640:
    • Correct pclk clock setting at 9 and 12 MHz in OV5640_SetPCLK() API.
  • sitronix:
    • Optimize the execution time of SITRONIX_GetState() API.

Middlewares updates

  • Upgrade AZURE RTOS version to v6.4.0.
  • Upgrade mcuboot version to v1.7.2.25.
  • Upgrade trustedfirmware version to v1.3.0.14.
  • Upgrade STSAFE version to v3.3.7.

Projects updates

  • Add example_LL ‘ADC_SingleConversion_TriggerTimer_DMA_Init’ on NUCLEO-U575ZI-Q board.
  • Remove DMA related definitions in case of NO-PD USBX applications.
  • Add source and destination buffers alignment in example DMA_DataHandling to respect data width in all cases.
  • Update non secure CubeIDE projects configuration to remove duplicate dependency to secure projects.
  • Middleware applications
    • Align applications with Azure RTOS V6.4.0.
  • SBSFU/TFM applications
    • Update all the partition files of SBSFU Applications to configure the SAU region6 to access the OTP region.
    • Update SBSFU and TFM Application scripts to support STM32U5F7.
    • Remove the system time/date macros from tfm_mbedcrypto_config.h as not used in TFM Application.
    • Remove padlock module from TFM Application Projects as it is not used.
    • Fix the tfm_hal_random_generate() function to renew the pool of new random numbers during the appli runtime in TFM Application.
    • Improve dma_m2m() function in test_protections.c in TFM Application.

Utilities updates

  • LPBAM:
    • Add DMA mode initialization in all LPBAM_PPP_FillNodeConfig() APIs to avoid checking parameter failure.

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

Name Version Release notes
Projects V1.7.0 release notes

Notes:

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply Please refer to AN5347 for more details
  • The MicroLIB option should be enabled to display messages in HyperTerminal in the MDK-ARM projects. Detailed list is in the Project’s release notes.
  • The user should unplug then Plug STLINK connection on Slave Board to perform a power-on-reset when running I2C_WakeUpFromStop example on NUCLEO-U575ZI-Q board.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
CMSIS v5.9.0_dsp_v1.10.0_nn_v3.1.0 release notes
STM32U5xx CMSIS V1.4.1 release notes
STM32U5xx HAL V1.6.1 release notes
STM32U5xx NUCLEO V1.2.2 release notes
BSP STM32U575I-EV V1.4.1 release notes
BSP B-U585I-IOT02A V1.4.1 release notes
BSP STM32U5x9J-DK V1.3.1 release notes
BSP STM32U5G9J-DK2 V1.2.0 release notes
BSP aps512xx V1.0.2 release notes
BSP aps6408 V1.0.2 release notes
BSP Common V7.2.1 release notes
BSP cs42l51 V2.0.6 release notes
BSP gt911 V1.0.0 release notes
BSP hts221 V5.5.0 release notes
BSP hx8347i V2.0.3 release notes
BSP iis2mdc V1.3.0 release notes
BSP ism330dhcx V1.3.0 release notes
BSP lps22hh V1.4.0 release notes
BSP lsm6dso V1.7.0 release notes
BSP m24256 V1.0.2 release notes
BSP mfxstm32l152 V4.0.1 release notes
BSP mx_wifi V2.3.4 release notes
BSP mx25lm51245g V2.0.9 release notes
BSP mx25um51245g V1.0.1 release notes
BSP mx66uw1g45g V1.0.0 release notes
BSP ov5640 V4.0.2 release notes
BSP rk050hr18 V1.0.0 release notes
BSP sitronix V1.0.4 release notes
BSP stm32wb_at V1.0.12 release notes
BSP stts22h V1.5.0 release notes
BSP sx8651 V1.0.3 release notes
BSP tcpp0203 V1.2.2 release notes
BSP veml3235 V1.0.3 release notes
BSP vl53l5cx V1.0.7 release notes
Middlewares
Name Version Release note
STM32_TouchSensing_Library V2.2.11 release notes
STM32_Network_Library V2.3.0 release notes
STM32_USBPD_Core_Library V4.1.2 release notes
STM32_USBPD_Device_Library u5_v3.3.0 release notes
mbed-crypto mbed-tls-v2.28.8_20240527 ST release notes
STSAFE_A1xx MW_V3.3.7 ST release notes
SE_STSAFEA_API SE_STSAFEA_API_V1.0.0 ST release notes
trustedfirmware tfm/v1.3.0.14 ST release notes
mcuboot v1.7.2.25 ST release notes
OpenBootloader V6.1.1 release notes
ThreadX threadx-6.4.0.240906 release notes
NetXduo netxduo-6.4.0.240906 release notes
USBX usbx-6.4.0.240906 release notes
FileX filex-6.4.0.240906 release notes
LevelX levelx-6.4.0.240906 release notes
cmsis_rtos_threadx tx-cmsis-1.3.0.240517 release notes
Utilities
Name Version Release note
Common V1.6.1 release notes
Fonts V2.0.4 release notes
JPEG V2.0.3 release notes
GUI_INTERFACE GUI_V2.3.0 release notes
lcd V2.0.3 release notes
lpbam V1.4.1 release notes
TRACER_EMB V1.10.0 release notes

Development toolchains and compilers

Supported Devices and boards

  • Devices:
    • STM32U5F7/STM32U5G7/STM32U5F9/STM32U5G9 devices rev Z
    • STM32U575/STM32U585 devices rev W
    • STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices rev W
    • STM32U535/STM32U545 devices rev Y
  • Boards:
    • NUCLEO-U575ZI-Q Nucleo board rev.C
    • NUCLEO-U5A5ZJ-Q Nucleo board rev.C
    • NUCLEO-U545RE-Q Nucleo board rev.D
    • STM32U575I-EV Evaluation board rev.C
    • B-U585I-IOT02A Discovery board rev.D
    • STM32U5A9J-DK Discovery board rev.B
    • STM32U5G9J-DK1 Discovery board rev.B
    • STM32U5G9J-DK2 Discovery board rev.C

Dependencies

  • This software release is compatible with:
    • STM32CubeMX version V6.12.0
    • STM32CubeProgrammer version V2.16.0
  • It is recommended to use CLI of STM32CubeProgrammer for execution of SBSFU and TFM applications, please refer to readme file of applications for more details
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server_reference.hex present in .\STM32Cube_FW_WB_V1.x.x\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_AT_Server\Binary\BLE_AT_Server_reference.hex
  • The EMW3080B MXCHIP Wi-Fi module firmware version used is V2.3.4, for more details refer to Wi-Fi example readme files which can be found at Projects\B-U585I-IOT02A under Applications\NetXDuo and \Demonstrations\IOT_HTTP_WebServer.
  • The IOT_HTTP_WebServer demonstration uses an updated version of STM32CubeU5_Demo_U585I-IOT02A_v1.2.hex binaries. To upgrade your B-U585I-IOT02A Discovery board with the required version V1.2, please visit B-U585I-IOT02A compiled demo binary
  • The EVAL Demonstration requires to have STM32CubeU5_Demo_STM32U575I-EV.hex binaries on your STM32U575I-EV Evaluation board with the required version V1.0. To upgrade your board, please visit STM32U575I-EV compiled demo binary

Known Limitations

  • Some project are not generated with STM32CubeMX tool for the exhaustive list please refer to the table available in STM32CubeProjectsList.html
  • The component “USBX/CoreSystem” must be selected alongside either “USBX/UX Host CoreStack” or “USBX/UX Device CoreStack”.
  • In NetXDuo, some configuration flags, that are not used in the STM32Cube FW package examples, might be non-functional when combined. This limitation will be fixed in upcoming releases.
  • Some NetXDuo MW applications and Fx_NoR_Write_Read_File application are provided without ioc files. This limitation will be fixed in upcoming releases.
  • Comment error in “MX_WIFI BSP Component” Release_Notes : “The EMW3080B MXCHIP Wi-Fi module firmware version has to be V2.3.4 instead of V2.3.4 rc 13”
  • The devices MX66UW1G45G and MX66LM1G45G are driven by the same BSP component driver.
  • The project Tx_FreeRTOS_Wrapper generates a warning (The left and right operands in tx_freertos.c are identical). This warning has no impact on the example functionality.
  • The Nx_WebServer application works only with O3 optimization with STM32CubeIDE in Debug mode. This limitation will be fixed in upcoming releases.
  • Security configurations using STSAFE are non-functional in this U5 package. This limitation will be fixed in upcoming releases.

Backward compatibility

  • None.

Main Changes

  • Maintenance Release V1.6.0 of STM32CubeU5 Firmware Package to deploy the new HAL SDIO driver.
  • General updates to fix known defects and implementation enhancements.
  • Upgrade mbed-crypto Lib to use v2.28.8 (ST modified 2024-05-27).
  • Upgrade trustedfirmware Lib to use v1.3.0.11.
  • Upgrade mcuboot Lib to use v1.7.2.24.

Contents

HAL/LL Drivers updates

  • HAL GENERIC driver
    • update stm32u5xx_hal_conf_template file to add the support for the new HAL SDIO driver.
  • HAL CORTEX driver
    • Use MPUx instead of MPU inside MPU_ConfigRegion() API when disabling the region.
  • HAL DSI driver
    • Update startup sequence: PLL tuning must be done before PLL Enable.
  • HAL DAC driver
    • Fix HAL_DACEx_SelfCalibrate() API to manage case of calibration factor equal to range maximum value: Previously, in this case calibration factor was reset, leading to voltage accuracy not optimal.
    • Update trimming factor to use 6bits width.
  • HAL SDMMC driver
    • Support new HAL SDIO driver.

BSP Drivers updates

  • B-U585I-IOT02A/ STM32U5x9J-DK/ STM32U5xx_Nucleo/ STM32U575I-EV:
    • Fix printf() API implementation to be compliant with IAR 9.x.
  • B-U585I-IOT02A:
    • Update BSP_OSPI_RAM_Init() API to be compliant with MISRAC2012 rule 10.4.
  • STM32U5xx_Nucleo:
    • Update USBPD_PWR driver to be compliant with MISRAC2012 rules 2.3 and 10.4_a.

Middlewares updates

  • Upgrade mbed-crypto Lib to use v2.28.8_20240527
  • Upgrade trustedfirmware Lib to use v1.3.0.11
  • Upgrade mcuboot Lib to use v1.7.2.24

Projects updates

  • Fix printf() API implementation to be compliant with IAR 9.x.
  • Update Template projects to support new HAL SDIO driver.
  • Update HAL SMBUS examples available for NUCLEO-U575ZI-Q board to configure digital filter:
    • Add a call to HAL_SMBUS_ConfigDigitalFilter() API inside MX_I2Cx_SMBUS_Init() API.
  • General update to align user tags naming sections with STM32CubeMx V6.12.0
  • Update scripts of SBSFU and TFM applications to:
    • Add missing -M (–max-sectors) in the .sh files.
    • Use AppliCfg instead of imgtool flash commands.
    • Remove the –hardRst option to work with latest CubeProgrammer versions.
    • Use the correct –max-sectors value in imgtool command during image preparation.
  • Fix in TFM application for the test Protection failure issue when using STM32CubeIDE1.15.0
  • Update of mbeb-crypto projects for security fixes.
  • Update of mcuboot projects.

Utilities updates

  • Upgrade EWARM and MDK-ARM patches to support new STM32U5 part numbers.

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

Name Version Release notes
Projects V1.6.0 release notes

Notes:

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply Please refer to AN5347 for more details
  • The MicroLIB option should be enabled to display messages in HyperTerminal in the MDK-ARM projects. Detailed list is in the Project’s release notes.
  • The user should unplug then Plug STLINK connection on Slave Board to perform a power-on-reset when running I2C_WakeUpFromStop example on NUCLEO-U575ZI-Q board.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
CMSIS V5.9.0 release notes
STM32U5xx CMSIS V1.4.0 release notes
STM32U5xx HAL V1.6.0 release notes
STM32U5xx NUCLEO V1.2.2 release notes
BSP STM32U575I-EV V1.4.1 release notes
BSP B-U585I-IOT02A V1.4.1 release notes
BSP STM32U5x9J-DK V1.3.1 release notes
BSP STM32U5G9J-DK2 V1.2.0 release notes
BSP aps512xx V1.0.2 release notes
BSP aps6408 V1.0.2 release notes
BSP Common V7.2.1 release notes
BSP cs42l51 V2.0.6 release notes
BSP gt911 V1.0.0 release notes
BSP hts221 V5.5.0 release notes
BSP hx8347i V2.0.3 release notes
BSP iis2mdc V1.3.0 release notes
BSP ism330dhcx V1.3.0 release notes
BSP lps22hh V1.4.0 release notes
BSP lsm6dso V1.7.0 release notes
BSP m24256 V1.0.2 release notes
BSP mfxstm32l152 V4.0.1 release notes
BSP mx_wifi V2.3.4 release notes
BSP mx25lm51245g V2.0.9 release notes
BSP mx25um51245g V1.0.1 release notes
BSP mx66uw1g45g V1.0.0 release notes
BSP ov5640 V3.2.4 release notes
BSP rk050hr18 V1.0.0 release notes
BSP sitronix V1.0.3 release notes
BSP stm32wb_at V1.0.12 release notes
BSP stts22h V1.5.0 release notes
BSP sx8651 V1.0.3 release notes
BSP tcpp0203 V1.2.2 release notes
BSP veml3235 V1.0.3 release notes
BSP vl53l5cx V1.0.7 release notes
Middlewares
Name Version Release note
STM32_TouchSensing_Library V2.2.11 release notes
STM32_Network_Library V2.3.0 release notes
STM32_USBPD_Core_Library V4.1.2 release notes
STM32_USBPD_Device_Library u5_v3.3.0 release notes
mbed-crypto mbed-tls-v2.28.8_20240527 ST release notes
STSAFE_A1xx MW_V3.3.5 ST release notes
SE_STSAFEA_API SE_STSAFEA_API_V1.0.0 ST release notes
trustedfirmware tfm/v1.3.0.11 ST release notes
mcuboot v1.7.2.24 ST release notes
OpenBootloader V6.1.1 release notes
ThreadX threadx-6.2.0.221223 release notes
NetXduo netxduo-6.2.0.221223 release notes
USBX usbx-6.2.0.221223 release notes
FileX filex-6.2.0.221223 release notes
LevelX levelx-6.2.0.221223 release notes
cmsis_rtos_threadx tx-cmsis-1.2.0.230421 release notes
Utilities
Name Version Release note
Common V1.6.1 release notes
Fonts V2.0.4 release notes
JPEG V2.0.3 release notes
GUI_INTERFACE GUI_V2.3.0 release notes
lcd V2.0.3 release notes
lpbam V1.4.0 release notes
TRACER_EMB V1.10.0 release notes

Development toolchains and compilers

Supported Devices and boards

  • Devices:
    • STM32U5F7/STM32U5G7/STM32U5F9/STM32U5G9 devices rev Z
    • STM32U575/STM32U585 devices rev W
    • STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices rev W
    • STM32U535/STM32U545 devices rev Y
  • Boards:
    • NUCLEO-U575ZI-Q Nucleo board rev.C
    • NUCLEO-U5A5ZJ-Q Nucleo board rev.C
    • NUCLEO-U545RE-Q Nucleo board rev.D
    • STM32U575I-EV Evaluation board rev.C
    • B-U585I-IOT02A Discovery board rev.D
    • STM32U5A9J-DK Discovery board rev.B
    • STM32U5G9J-DK1 Discovery board rev.B
    • STM32U5G9J-DK2 Discovery board rev.C

Dependencies

  • This software release is compatible with:
    • STM32CubeMX version V6.12.0
    • STM32CubeProgrammer version V2.16.0
  • It is recommended to use CLI of STM32CubeProgrammer for execution of SBSFU and TFM applications, please refer to readme file of applications for more details
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server_reference.hex present in .\STM32Cube_FW_WB_V1.x.x\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_AT_Server\Binary\BLE_AT_Server_reference.hex
  • The EMW3080B MXCHIP Wi-Fi module firmware version used is V2.3.4, for more details refer to Wi-Fi example readme files which can be found at Projects\B-U585I-IOT02A under Applications\NetXDuo and \Demonstrations\IOT_HTTP_WebServer.
  • The IOT_HTTP_WebServer demonstration uses an updated version of STM32CubeU5_Demo_U585I-IOT02A_v1.2.hex binaries. To upgrade your B-U585I-IOT02A Discovery board with the required version V1.2, please visit B-U585I-IOT02A compiled demo binary
  • The EVAL Demonstration requires to have STM32CubeU5_Demo_STM32U575I-EV.hex binaries on your STM32U575I-EV Evaluation board with the required version V1.0. To upgrade your board, please visit STM32U575I-EV compiled demo binary

Known Limitations

  • Some project are not generated with STM32CubeMX tool for the exhaustive list please refer to the table available in STM32CubeProjectsList.html
  • The component “USBX/CoreSystem” must be selected alongside either “USBX/UX Host CoreStack” or “USBX/UX Device CoreStack”
  • In NetXDuo, some configuration flags, that are not used in the STM32Cube FW package examples, might be non-functional when combined. This limitation will be fixed in upcoming releases
  • B-U585I-IOT02A\Applications\NetXDuo\Nx_HTTP_SSE project is not provided with STM32CubeIDE release configuration. This limitation will be fixed in upcoming releases
  • Comment error in “MX_WIFI BSP Component” Release_Notes : “The EMW3080B MXCHIP Wi-Fi module firmware version has to be V2.3.4 instead of V2.3.4 rc 13”
  • The devices MX66UW1G45G and MX66LM1G45G are driven by the same BSP component driver.

Backward compatibility

  • None.

Main Changes

Maintenance Release V1.5.0 of STM32CubeU5 Firmware Package supporting STM32U535xx, STM32U545xx, STM32U575xx, STM32U585xx, STM32U595xx, STM32U5A5xx, STM32U599xx, STM32U5A9xx, STM32U5F7xx, STM32U5G7xx, STM32U5F9xx and STM32U5G9xx devices

Contents

CMSIS Drivers updates

  • CMSIS Device Maintenance Release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual) (Please Refer to the release notes for details)
  • Add Bits definition for RNG_NSCR register for RNG noise source control
  • Rename RTC_CR_ALRAOCLR to RTC_CR_ALRAFCLR definition
  • Rename RTC_CR_ALRBOCLR to RTC_CR_ALRBFCLR definition
  • Remove SYSCFG_UCPD_CC1ENRXFILTER and SYSCFG_UCPD_CC2ENRXFILTER defines
  • Remove COMP2 dependency in “stm32u545xx.h” and “stm32u545xx.h” files by removing TIM1_AF1_BKCMP2E, TIM1_AF1_BKCMP2P, TIM1_AF2_BK2CMP2E and TIM1_AF2_BK2CMP2P defines
  • Remove PWR_PDCRI register in “stm32u545xx.h” and “stm32u545xx.h” files by removing PWR_PDCRI_PD0, PWR_PDCRI_PD1, PWR_PDCRI_PD2, PWR_PDCRI_PD3, PWR_PDCRI_PD4, PWR_PDCRI_PD5, PWR_PDCRI_PD6 and PWR_PDCRI_PD0 defines
  • Update partition_stm32u5XXxx.h files headers
  • Fix wrong declaration of g_pfnVectors size in GCC startup_stm32u5XXxx.s files
  • Update linker files to properly mark sections readonly for GCC

HAL/LL Drivers updates

  • HAL and LL drivers Maintenance Release for STM32U5XX devices (Please Refer to the release notes for details)
  • Add the HAL MMC replay protected memory block management feature
  • The HAL and LL drivers provided within this package are MISRA-C, Coverity and MCU ASTYLE compliant, and have been reviewed with a static analysis tool to eliminate possible run-time errors

HAL Drivers updates

  • HAL CORDIC driver
    • Fix incorrect word ‘surcharged’ in functions headers
  • HAL CORTEX driver
    • Fix MPU_ACCESS_OUTER_SHAREABLE and LL_MPU_ACCESS_OUTER_SHAREABLE definitions
    • Add HAL_SYSTICK_GetCLKSourceConfig, HAL_MPU_EnableRegion, HAL_MPU_DisableRegion, HAL_MPU_EnableRegion_NS and HAL_MPU_DisableRegion_NS functions
  • HAL FMAC driver
    • Fix incorrect word ‘surcharged’ in functions headers
  • HAL DSI driver
    • Align DSI Initialization sequence to the recommended ‘Programming procedure overview’ part to avoid DSI read LCD controller register 0x0A error
  • HAL GPIO driver
    • Remove IS_GPIO_SINGLE_PIN define
  • HAL ICACHE driver
    • Update HAL_ICACHE_DeInit to set registers to reset value
    • Update HAL_ICACHE_Invalidate() to prevent launching an invalidation if one has already been launched
  • HAL I2C driver
    • Update HAL_I2C_Mem_Write_IT API to initialize XferSize at 0
    • Update I2C_Slave_ISR_IT, I2C_Slave_ISR_DMA and I2C_ITSlaveCplt to prevent the call of HAL_I2C_ListenCpltCallback twice
    • Update I2C_WaitOnRXNEFlagUntilTimeout to check I2C_FLAG_AF independently from I2C_FLAG_RXNE
    • Remove the unusable code in HAL_I2C_IsDeviceReady function
    • Update HAL_I2C_Slave_Transmit to check if the received NACK is the good one
  • HAL driver
    • Add HAL_SYSCFG_EnableIOAnalogSwitchVoltageSelection and HAL_SYSCFG_DisableIOAnalogSwitchVoltageSelection functions
  • HAL LPTIM driver
    • Removed references to COMP2 for STM32U535xx/STM32U545xx devices
    • Remove IS_LPTIM_AUTORELOAD define
  • HAL MMC driver
    • Add the replay protected memory block management defines:
      • HAL_MMC_ERROR_RPMB_OPERATION_OK
      • HAL_MMC_ERROR_RPMB_GENERAL_FAILURE
      • HAL_MMC_ERROR_RPMB_AUTHENTICATION_FAILURE
      • HAL_MMC_ERROR_RPMB_COUNTER_FAILURE
      • HAL_MMC_ERROR_RPMB_ADDRESS_FAILURE
      • HAL_MMC_ERROR_RPMB_WRITE_FAILURE
      • HAL_MMC_ERROR_RPMB_READ_FAILURE
      • HAL_MMC_ERROR_RPMB_KEY_NOT_YET_PROG
      • HAL_MMC_ERROR_RPMB_COUNTER_EXPIRED
      • HAL_MMC_RPMB_ProgramAuthenticationKey
      • HAL_MMC_RPMB_ProgramAuthenticationKey_IT
      • HAL_MMC_RPMB_GetWriteCounter
      • HAL_MMC_RPMB_GetWriteCounter_IT
      • HAL_MMC_RPMB_WriteBlocks
      • HAL_MMC_RPMB_WriteBlocks_IT
      • HAL_MMC_RPMB_ReadBlocks
      • HAL_MMC_RPMB_ReadBlocks_IT
      • MMC_RPMB_KEYMAC_POSITION
      • MMC_RPMB_DATA_POSITION
      • MMC_RPMB_NONCE_POSITION
      • MMC_RPMB_WRITE_COUNTER_POSITION
    • Add HAL_MMC_SwitchPartition and HAL_MMC_GetRPMBError functions
    • Add the MMC partitions type defines:
      • HAL_MMC_USER_AREA_PARTITION
      • HAL_MMC_BOOT_PARTITION1
      • HAL_MMC_BOOT_PARTITION2
      • HAL_MMC_RPMB_PARTITION
  • HAL PKA driver
    • Add PKA_ECCMulExInTypeDef operation structure definition
    • Add HAL_PKA_ECCMulEx and HAL_PKA_ECCMulEx_IT functions
  • HAL PSSI driver
    • Replace hdmatx by hdmarx in HAL_PSSI_Receive_DMA() function
  • HAL PWR driver
    • Add PWR_SLEEPENTRY_WFE_NO_EVT_CLEAR and PWR_STOPENTRY_WFE_NO_EVT_CLEAR defines
  • HAL RCC driver
    • Update HAL_RCC_NMI_IRQHandler, clear flag before callback
  • HAL RNG driver
    • Add RNG noise source control
  • HAL SAI driver
    • Improve audio quality to avoid potential glitch
    • Fix incorrect word ‘surcharged’ in functions headers
  • HAL SMBUS driver
    • Remove HAL_SMBUS_STATE_TIMEOUT and HAL_SMBUS_STATE_ERROR defines
  • HAL TIM driver
    • Rename TIM_OCMODE_ASSYMETRIC_PWM1 to TIM_OCMODE_ASYMMETRIC_PWM1 define
    • Rename TIM_OCMODE_ASSYMETRIC_PWM2 to TIM_OCMODE_ASYMMETRIC_PWM2 define
    • Removed references to COMP2 for STM32U535xx/STM32U545xxxx devices
  • HAL UART driver
    • Fix incorrect gState check in HAL_UART_RegisterRxEventCallback and HAL_UART_UnRegisterRxEventCallback to allow user Rx Event Callback registration when a transmit is ongoing
  • HAL USB driver
    • Add HCD_PDWN_EXIT_CNT define

LL Drivers updates

  • LL CORTEX driver
    • Rename LL_SYSTICK_CLKSOURCE_HCLK_DIV8 to LL_SYSTICK_CLKSOURCE_EXTERNAL
  • LL I2C driver
    • Update LL_I2C_HandleTranfer function to prevent undefined behavior of volatile usage before updating the CR2 register
  • LL PWR driver
    • Rename PWR_SECCFGR_WUP8SEC to PWR_SECCFGR_LPMSEC define
    • Rename PWR_SECCFGR_WUP8SEC to PWR_SECCFGR_VDMSEC define
    • Rename PWR_SECCFGR_WUP8SEC to PWR_SECCFGR_VBSEC define
    • Rename PWR_SECCFGR_WUP8SEC to PWR_SECCFGR_APCSEC define
  • LL TIM driver
    • Rename LL_TIM_OCMODE_ASSYMETRIC_PWM1 to LL_TIM_OCMODE_ASYMMETRIC_PWM1 define
    • Rename LL_TIM_OCMODE_ASSYMETRIC_PWM2 to LL_TIM_OCMODE_ASYMMETRIC_PWM2 define
  • LL USB driver
    • Add HAL_USB_TIMEOUT and HAL_USB_CURRENT_MODE_MAX_DELAY_MS defines
    • Prevent masking NAK IT during start split transfer
  • LL UTILS driver
    • Add LL_UTILS_PACKAGETYPE_WLCSP72_SMPS and LL_UTILS_PACKAGETYPE_LQFP144_DSI_SMPS defines
    • Add LL_Init1msTick_HCLK_Div8, LL_Init1msTick_LSE and LL_Init1msTick_LSI functions
    • Rename LL_UTILS_PACKAGETYPE_WLCSP144 to LL_UTILS_PACKAGETYPE_UFBGA64 define
    • Rename LL_UTILS_PACKAGETYPE_UFBGA144 to LL_UTILS_PACKAGETYPE_UFBGA100 define
    • Rename LL_UTILS_PACKAGETYPE_WLCSP144_SMPS to LL_UTILS_PACKAGETYPE_LQFP100_DSI_SMPS define

BSP Drivers updates

  • Add PWM backlight control in stm32u5g9j_discovery_lcd drivers of STM32U5G9J-DK2 board
  • Set DSI default clock in stm32u5x9j_discovery_lcd driver of STM32U5x9J-DK board
  • Restore GPIO configuration for I2C after being previously initialized in stm32u5x9j_discovery_ranging_sensor driver of STM32U5x9J-DK board

Projects updates

  • Add ADC_ContinuousConversion_TriggerSW_LowPower_Init project on NUCLEO-U575ZI-Q board with EWARM, MDK-ARM and STM32CubeIDE toolchains support available under:
    • Projects\NUCLEO-U575ZI-Q\Examples_LL\ADC\ADC_ContinuousConversion_TriggerSW_LowPower_Init

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

Name Version Release notes
Projects V1.5.0 release notes

Notes:

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply Please refer to AN5347 for more details
  • The MicroLIB option should be enabled to display messages in HyperTerminal in the MDK-ARM projects. Detailed list is in the Project’s release notes.
  • The user should unplug then Plug STLINK connection on Slave Board to perform a power-on-reset when running I2C_WakeUpFromStop example on NUCLEO-U575ZI-Q board.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
CMSIS V5.9.0 release notes
STM32U5xx CMSIS V1.4.0 release notes
STM32U5xx HAL V1.5.0 release notes
STM32U5xx NUCLEO V1.2.1 release notes
BSP STM32U575I-EV V1.4.0 release notes
BSP B-U585I-IOT02A V1.4.0 release notes
BSP STM32U5x9J-DK V1.3.0 release notes
BSP STM32U5G9J-DK2 V1.2.0 release notes
BSP aps512xx V1.0.2 release notes
BSP aps6408 V1.0.2 release notes
BSP Common V7.2.1 release notes
BSP cs42l51 V2.0.6 release notes
BSP gt911 V1.0.0 release notes
BSP hts221 V5.5.0 release notes
BSP hx8347i V2.0.3 release notes
BSP iis2mdc V1.3.0 release notes
BSP ism330dhcx V1.3.0 release notes
BSP lps22hh V1.4.0 release notes
BSP lsm6dso V1.7.0 release notes
BSP m24256 V1.0.2 release notes
BSP mfxstm32l152 V4.0.1 release notes
BSP mx_wifi V2.3.4 release notes
BSP mx25lm51245g V2.0.9 release notes
BSP mx25um51245g V1.0.1 release notes
BSP mx66uw1g45g V1.0.0 release notes
BSP ov5640 V3.2.4 release notes
BSP rk050hr18 V1.0.0 release notes
BSP sitronix V1.0.3 release notes
BSP stm32wb_at V1.0.12 release notes
BSP stts22h V1.5.0 release notes
BSP sx8651 V1.0.3 release notes
BSP tcpp0203 V1.2.2 release notes
BSP veml3235 V1.0.3 release notes
BSP vl53l5cx V1.0.7 release notes
Middlewares
Name Version Release note
STM32_TouchSensing_Library V2.2.11 release notes
STM32_Network_Library V2.3.0 release notes
STM32_USBPD_Core_Library V4.1.2 release notes
STM32_USBPD_Device_Library u5_v3.3.0 release notes
mbed-crypto mbed-tls-v2.28.7_20240208 ST release notes
STSAFE_A1xx MW_V3.3.5 ST release notes
SE_STSAFEA_API SE_STSAFEA_API_V1.0.0 ST release notes
trustedfirmware tfm/v1.3.0.10 ST release notes
mcuboot v1.7.2.21 ST release notes
OpenBootloader V6.1.1 release notes
ThreadX threadx-6.2.0.221223 release notes
NetXduo netxduo-6.2.0.221223 release notes
USBX usbx-6.2.0.221223 release notes
FileX filex-6.2.0.221223 release notes
LevelX levelx-6.2.0.221223 release notes
cmsis_rtos_threadx tx-cmsis-1.2.0.230421 release notes
Utilities
Name Version Release note
Common V1.6.1 release notes
Fonts V2.0.4 release notes
JPEG V2.0.3 release notes
GUI_INTERFACE GUI_V2.3.0 release notes
lcd V2.0.3 release notes
lpbam V1.4.0 release notes
TRACER_EMB V1.10.0 release notes

Development toolchains and compilers

Supported Devices and boards

  • Devices:
    • STM32U5F7/STM32U5G7/STM32U5F9/STM32U5G9 devices rev Z
    • STM32U575/STM32U585 devices rev W
    • STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices rev W
    • STM32U535/STM32U545 devices rev Y
  • Boards:
    • NUCLEO-U575ZI-Q Nucleo board rev.C
    • NUCLEO-U5A5ZJ-Q Nucleo board rev.C
    • NUCLEO-U545RE-Q Nucleo board rev.D
    • STM32U575I-EV Evaluation board rev.C
    • B-U585I-IOT02A Discovery board rev.D
    • STM32U5A9J-DK Discovery board rev.B
    • STM32U5G9J-DK1 Discovery board rev.B
    • STM32U5G9J-DK2 Discovery board rev.C

Dependencies

  • This software release is compatible with:
    • STM32CubeMX version V6.11.0
    • STM32CubeProgrammer version V2.16.0
  • It is recommended to use CLI of STM32CubeProgrammer for execution of SBSFU and TFM applications, please refer to readme file of applications for more details
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server_reference.hex present in .\STM32Cube_FW_WB_V1.x.x\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_AT_Server\Binary\BLE_AT_Server_reference.hex
  • The EMW3080B MXCHIP Wi-Fi module firmware version used is V2.3.4, for more details refer to Wi-Fi example readme files which can be found at Projects\B-U585I-IOT02A under Applications\NetXDuo and \Demonstrations\IOT_HTTP_WebServer.
  • The IOT_HTTP_WebServer demonstration uses an updated version of STM32CubeU5_Demo_U585I-IOT02A_v1.2.hex binaries. To upgrade your B-U585I-IOT02A Discovery board with the required version V1.2, please visit B-U585I-IOT02A compiled demo binary
  • The EVAL Demonstration requires to have STM32CubeU5_Demo_STM32U575I-EV.hex binaries on your STM32U575I-EV Evaluation board with the required version V1.0. To upgrade your board, please visit STM32U575I-EV compiled demo binary

Known Limitations

  • Some project are not generated with STM32CubeMX tool for the exhaustive list please refer to the table available in STM32CubeProjectsList.html
  • The component “USBX/CoreSystem” must be selected alongside either “USBX/UX Host CoreStack” or “USBX/UX Device CoreStack”
  • In NetXDuo, some configuration flags, that are not used in the STM32Cube FW package examples, might be non-functional when combined. This limitation will be fixed in upcoming releases
  • B-U585I-IOT02A\Applications\NetXDuo\Nx_HTTP_SSE project is not provided with STM32CubeIDE release configuration. This limitation will be fixed in upcoming releases
  • Comment error in “MX_WIFI BSP Component” Release_Notes : “The EMW3080B MXCHIP Wi-Fi module firmware version has to be V2.3.4 instead of V2.3.4 rc 13”
  • The devices MX66UW1G45G and MX66LM1G45G are driven by the same BSP component driver.

Backward compatibility

  • veml6030 BSP is replaced by veml3235 BSP component Driver in B-U585I-IOT02A projects

Main Changes

Maintenance Release V1.4.0 of STM32CubeU5 Firmware Package supporting STM32U535xx, STM32U545xx, STM32U575xx, STM32U585xx, STM32U595xx, STM32U5A5xx, STM32U599xx, STM32U5A9xx, STM32U5F7xx, STM32U5G7xx, STM32U5F9xx and STM32U5G9xx devices

Contents

CMSIS Drivers updates

  • CMSIS Device Official Release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual) (Please Refer to the release notes for details)
  • Update STM32U5A5xx devices list with STM32U5A5QII3Q under “stm32u5xx.h” file

HAL/LL Drivers updates

  • HAL and LL drivers Official Release for STM32U535xx/STM32U545xx, STM32U575xx/STM32U585xx, STM32U595xx/STM32U5A5xx, STM32U599xx/STM32U5A9xx, STM32U5F7xx/STM32U5G7xx and STM32U5F9xx/STM32U5G9xx devices (Please Refer to the release notes for details)
  • Update ADC HAL and LL drivers to fix known defects and add implementation enhancements
  • The HAL and LL drivers provided within this package are MISRA-C, MCU ASTYLE and CodeSonar compliant, and have been reviewed with a static analysis tool to eliminate possible run-time errors

BSP Drivers updates

  • Add stts22h BSP Component Driver
  • Add stm32u5x9j_discovery_env_sensors driver to support Temperature sensor on STM32U5x9J-DK board

Utilities updates

  • Add of LPBAM utility version 1.4.0

Projects updates

  • Update BSP and HAL Templates (TZEN=0 and TZEN=1) projects on STM32U5x9J-DK board to support Temperature sensor with EWARM, MDK-ARM and STM32CubeIDE toolchains

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

Name Version Release notes
Projects V1.4.0 release notes

Notes:

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply Please refer to AN5347 for more details
  • The MicroLIB option should be enabled to display messages in HyperTerminal in the MDK-ARM projects. Detailed list is in the Project’s release notes.
  • The user should unplug then Plug STLINK connection on Slave Board to perform a power-on-reset when running I2C_WakeUpFromStop example on NUCLEO-U575ZI-Q board.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
CMSIS V5.9.0 release notes
STM32U5xx CMSIS V1.3.1 release notes
STM32U5xx HAL V1.4.0 release notes
STM32U5xx NUCLEO V1.2.1 release notes
BSP STM32U575I-EV V1.4.0 release notes
BSP B-U585I-IOT02A V1.4.0 release notes
BSP STM32U5x9J-DK V1.2.0 release notes
BSP STM32U5G9J-DK2 V1.1.0 release notes
BSP aps512xx V1.0.2 release notes
BSP aps6408 V1.0.2 release notes
BSP Common V7.2.1 release notes
BSP cs42l51 V2.0.6 release notes
BSP gt911 V1.0.0 release notes
BSP hts221 V5.5.0 release notes
BSP hx8347i V2.0.3 release notes
BSP iis2mdc V1.3.0 release notes
BSP ism330dhcx V1.3.0 release notes
BSP lps22hh V1.4.0 release notes
BSP lsm6dso V1.7.0 release notes
BSP m24256 V1.0.2 release notes
BSP mfxstm32l152 V4.0.1 release notes
BSP mx_wifi V2.3.4 release notes
BSP mx25lm51245g V2.0.8 release notes
BSP mx25um51245g V1.0.0 release notes
BSP mx66uw1g45g V1.0.0 release notes
BSP ov5640 V3.2.4 release notes
BSP rk050hr18 V1.0.0 release notes
BSP sitronix V1.0.1 release notes
BSP stm32wb_at V1.0.12 release notes
BSP stts22h V1.5.0 release notes
BSP sx8651 V1.0.3 release notes
BSP tcpp0203 V1.2.2 release notes
BSP veml3235 V1.0.3 release notes
BSP vl53l5cx V1.0.7 release notes
Middlewares
Name Version Release note
STM32_TouchSensing_Library V2.2.10 release notes
STM32_Network_Library V2.3.0 release notes
STM32_USBPD_Core_Library V4.1.2 release notes
STM32_USBPD_Device_Library u5_v3.2.0 release notes
mbed-crypto mbed-tls-v2.28.0.1 ST release notes
STSAFE_A1xx MW_V3.3.5 ST release notes
SE_STSAFEA_API SE_STSAFEA_API_V1.0.0 ST release notes
trustedfirmware tfm/v1.3.0.8 ST release notes
mcuboot v1.7.2.10.20230607 ST release notes
OpenBootloader V6.1.1 release notes
ThreadX threadx-6.2.0.221223 release notes
NetXduo netxduo-6.2.0.221223 release notes
USBX usbx-6.2.0.221223 release notes
FileX filex-6.2.0.221223 release notes
LevelX levelx-6.2.0.221223 release notes
cmsis_rtos_threadx tx-cmsis-1.2.0.230421 release notes
Utilities
Name Version Release note
Common V1.6.1 release notes
Fonts V2.0.3 release notes
JPEG V2.0.2 release notes
GUI_INTERFACE GUI_V2.3.0 release notes
lcd V2.0.2 release notes
lpbam V1.4.0 release notes
TRACER_EMB V1.10.0 release notes

Development toolchains and compilers

Supported Devices and boards

  • Devices:
    • STM32U5F7/STM32U5G7/STM32U5F9/STM32U5G9 devices rev Z
    • STM32U575/STM32U585 devices rev W
    • STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices rev X
    • STM32U535/STM32U545 devices rev Z
  • Boards:
    • STM32U5G9J-DK1 Discovery board rev.B
    • STM32U5G9J-DK2 Discovery board rev.B
    • NUCLEO-U575ZI-Q Nucleo board rev.C
    • STM32U575I-EV Evaluation board rev.C
    • B-U585I-IOT02A Discovery board rev.D
    • NUCLEO-U545RE-Q Nucleo board rev.A
    • NUCLEO-U5A5ZJ-Q Nucleo board rev.C
    • STM32U5A9J-DK Discovery board rev.B

Dependencies

  • This software release is compatible with:
    • STM32CubeMX version V6.9.0
    • STM32CubeProgrammer version V2.14.0
  • It is recommended to use CLI of STM32CubeProgrammer for execution of SBSFU and TFM applications, please refer to readme file of applications for more details
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server_reference.hex present in .\STM32Cube_FW_WB_V1.x.x\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_AT_Server\Binary\BLE_AT_Server_reference.hex
  • The EMW3080B MXCHIP Wi-Fi module firmware version used is V2.3.4, for more details refer to Wi-Fi example readme files which can be found at Projects\B-U585I-IOT02A under Applications\NetXDuo and \Demonstrations\IOT_HTTP_WebServer.
  • The IOT_HTTP_WebServer demonstration uses an updated version of STM32CubeU5_Demo_U585I-IOT02A_v1.2.hex binaries. To upgrade your B-U585I-IOT02A Discovery board with the required version V1.2, please visit B-U585I-IOT02A compiled demo binary
  • The EVAL Demonstration requires to have STM32CubeU5_Demo_STM32U575I-EV.hex binaries on your STM32U575I-EV Evaluation board with the required version V1.0. To upgrade your board, please visit STM32U575I-EV compiled demo binary

Known Limitations

  • Some project are not generated with STM32CubeMX tool for the exhaustive list please refer to the table available in STM32CubeProjectsList.html
  • The component “USBX/CoreSystem” must be selected alongside either “USBX/UX Host CoreStack” or “USBX/UX Device CoreStack”
  • In NetXDuo, some configuration flags, that are not used in the STM32Cube FW package examples, might be non-functional when combined. This limitation will be fixed in upcoming releases
  • Comment error in “MX_WIFI BSP Component” Release_Notes : “The EMW3080B MXCHIP Wi-Fi module firmware version has to be V2.3.4 instead of V2.3.4 rc 13”

Backward compatibility

  • veml6030 BSP is replaced by veml3235 BSP component Driver in B-U585I-IOT02A projects

Main Changes

First Official Release V1.3.0 of STM32CubeU5 Firmware Package supporting new STM32U5F9xx, STM32U5G9xx, STM32U5F7xx and STM32U5G7xx devices

  • Support of STM32U535xx, STM32U545xx, STM32U575xx, STM32U585xx, STM32U595xx, STM32U5A5xx, STM32U599xx, STM32U5A9xx, STM32U5F7xx, STM32U5G7xx, STM32U5F9xx and STM32U5G9xx devices
  • Add 2 new HAL drivers : GFXTIM and JPEG highlighting the graphics aspect of STM32U5F7/STM32U5G7/STM32U5F9/STM32U5G9 devices
  • Add 25 new projects on STM32U5G9J-DK2 board with EWARM, MDK-ARM and STM32CubeIDE toolchains

Contents

CMSIS updates

  • Support of CMSIS version 5.9.0

CMSIS Drivers updates

  • CMSIS Device Official Release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual) (Please Refer to the release notes for details)
  • Add support of new STM32U5F9xx, STM32U5G9xx, STM32U5F7xx and STM32U5G7xx devices

HAL/LL Drivers updates

  • HAL and LL drivers Official Release for STM32U535xx/STM32U545xx, STM32U575xx/STM32U585xx, STM32U595xx/STM32U5A5xx, STM32U599xx/STM32U5A9xx, STM32U5F7xx/STM32U5G7xx and STM32U5F9xx/STM32U5G9xx devices (Please Refer to the release notes for details)
  • Add 2 new HAL drivers : GFXTIM and JPEG highlighting the graphics aspect of STM32U5F7/STM32U5G7/STM32U5F9/STM32U5G9 devices
  • The HAL and LL drivers provided within this package are MISRA-C, MCU ASTYLE and CodeSonar compliant, and have been reviewed with a static analysis tool to eliminate possible run-time errors

BSP Drivers updates

  • Add STM32U5G9J-DK2 BSP Drivers to support STM32U5G9J-DK2 board for STM32U5F9xx and STM32U5G9xx devices
  • Update STM32U5GxJ-DK BSP Drivers to support STM32U5G9J-DK1 board for STM32U5F9xx and STM32U5G9xx devices
  • Add mx66uw1g45g BSP Component Driver
  • Add gt911 BSP Component Driver
  • Add rk050hr18 BSP Component Driver
  • Replace veml6030 by veml3235 BSP Component Driver

Middlewares updates

  • Support of STM32_USBPD_Core_Library version 4.1.2
  • Support of mcuboot version v1.7.2.10.20230607

Utilities updates

  • Add JPEG utility
  • Add the support of stm32U5F9xx and stm32U5G9xx devices for LPBAM utility

Projects updates

  • Add 25 new projects on STM32U5G9J-DK2 board with EWARM, MDK-ARM and STM32CubeIDE toolchains support,
  • Add 1 new project “UART_WakeUpFromStopUsingFIFO” on NUCLEO-U575ZI-Q board with EWARM, MDK-ARM and STM32CubeIDE toolchains support,
  • Add 1 new project “OSPI_NOR_MemoryMapped” on STM32U5A9J-DK board with EWARM, MDK-ARM and STM32CubeIDE toolchains support,
  • Projects under Projects\STM32U5x9J-DK\ are supported with EWARM, MDK-ARM and STM32CubeIDE toolchains and functional on both boards:
    • STM32U5A9J-DK for STM32U5A9xx devices
    • STM32U5G9J-DK1 for STM32U5G9xx devices
  • Add BSP project on STM32U5A9J-DK board with MDK-ARM toolchain support,
  • Add IOT_HTTP_WebServer demonstration on B-U585I-IOT02A board with MDK-ARM and STM32CubeIDE toolchains support,
  • Add DCACHE_Maintenance project on STM32U575I-EV board with MDK-ARM and STM32CubeIDE toolchains support,
  • Add PWR_ModesSelection project on NUCLEO-U545RE-Q board with MDK-ARM toolchain support,
  • Add FLASH_SwapBanks project on NUCLEO-U575ZI-Q board with STM32CubeIDE toolchain support,

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

Name Version Release notes
Projects V1.3.0 release notes

Notes:

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply Please refer to AN5347 for more details
  • The MicroLIB option should be enabled to display messages in HyperTerminal in the MDK-ARM projects. Detailed list is in the Project’s release notes.
  • The user should unplug then Plug STLINK connection on Slave Board to perform a power-on-reset when running I2C_WakeUpFromStop example on NUCLEO-U575ZI-Q board.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
CMSIS V5.9.0 release notes
STM32U5xx CMSIS V1.3.0 release notes
STM32U5xx HAL V1.3.0 release notes
STM32U5xx NUCLEO V1.2.0 release notes
BSP STM32U575I-EV V1.3.0 release notes
BSP B-U585I-IOT02A V1.3.0 release notes
BSP STM32U5x9J-DK V1.1.0 release notes
BSP STM32U5G9J-DK2 V1.0.0 release notes
BSP aps512xx V1.0.1 release notes
BSP aps6408 V1.0.2 release notes
BSP Common V7.2.1 release notes
BSP cs42l51 V2.0.5 release notes
BSP gt911 V1.0.0 release notes
BSP hts221 V5.5.0 release notes
BSP hx8347i V2.0.3 release notes
BSP iis2mdc V1.3.0 release notes
BSP ism330dhcx V1.3.0 release notes
BSP lps22hh V1.4.0 release notes
BSP lsm6dso V1.7.0 release notes
BSP m24256 V1.0.2 release notes
BSP mfxstm32l152 V4.0.1 release notes
BSP mx_wifi V2.3.4 release notes
BSP mx25lm51245g V2.0.8 release notes
BSP mx25um51245g V1.0.0 release notes
BSP mx66uw1g45g V1.0.0 release notes
BSP ov5640 V3.2.3 release notes
BSP rk050hr18 V1.0.0 release notes
BSP sitronix V1.0.1 release notes
BSP stm32wb_at V1.0.12 release notes
BSP sx8651 V1.0.3 release notes
BSP tcpp0203 V1.2.2 release notes
BSP veml3235 V1.0.3 release notes
BSP vl53l5cx V1.0.7 release notes
Middlewares
Name Version Release note
STM32_TouchSensing_Library V2.2.10 release notes
STM32_Network_Library V2.3.0 release notes
STM32_USBPD_Core_Library V4.1.2 release notes
STM32_USBPD_Device_Library u5_v3.2.0 release notes
mbed-crypto mbed-tls-v2.28.0.1 ST release notes
STSAFE_A1xx MW_V3.3.5 ST release notes
SE_STSAFEA_API SE_STSAFEA_API_V1.0.0 ST release notes
trustedfirmware tfm/v1.3.0.8 ST release notes
mcuboot v1.7.2.10.20230607 ST release notes
OpenBootloader V6.1.1 release notes
ThreadX threadx-6.2.0.221223 release notes
NetXduo netxduo-6.2.0.221223 release notes
USBX usbx-6.2.0.221223 release notes
FileX filex-6.2.0.221223 release notes
LevelX levelx-6.2.0.221223 release notes
cmsis_rtos_threadx tx-cmsis-1.2.0.230421 release notes
Utilities
Name Version Release note
Common V1.6.1 release notes
Fonts V2.0.3 release notes
JPEG V2.0.2 release notes
GUI_INTERFACE GUI_V2.3.0 release notes
lcd V2.0.2 release notes
lpbam V1.3.0 release notes
TRACER_EMB V1.10.0 release notes

Development toolchains and compilers

Supported Devices and boards

  • Devices:
    • STM32U5F7/STM32U5G7/STM32U5F9/STM32U5G9 devices rev Z
    • STM32U575/STM32U585 devices rev W
    • STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices rev X
    • STM32U535/STM32U545 devices rev Z
  • Boards:
    • STM32U5G9J-DK1 Discovery board rev.B
    • STM32U5G9J-DK2 Discovery board rev.A
    • NUCLEO-U575ZI-Q Nucleo board rev.C
    • STM32U575I-EV Evaluation board rev.C
    • B-U585I-IOT02A Discovery board rev.D
    • NUCLEO-U545RE-Q Nucleo board rev.A
    • NUCLEO-U5A5ZJ-Q Nucleo board rev.C
    • STM32U5A9J-DK Discovery board rev.B

Dependencies

  • This software release is compatible with:
    • STM32CubeMX version V6.9.0
    • STM32CubeProgrammer version V2.14.0
  • It is recommended to use CLI of STM32CubeProgrammer for execution of SBSFU and TFM applications, please refer to readme file of applications for more details
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server_reference.hex present in .\STM32Cube_FW_WB_V1.x.x\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_AT_Server\Binary\BLE_AT_Server_reference.hex
  • The EMW3080B MXCHIP Wi-Fi module firmware version used is V2.3.4, for more details refer to Wi-Fi example readme files which can be found at Projects\B-U585I-IOT02A under Applications\NetXDuo and \Demonstrations\IOT_HTTP_WebServer.
  • The IOT_HTTP_WebServer demonstration uses an updated version of STM32CubeU5_Demo_U585I-IOT02A_v1.2.hex binaries. To upgrade your B-U585I-IOT02A Discovery board with the required version V1.2, please visit B-U585I-IOT02A compiled demo binary
  • The EVAL Demonstration requires to have STM32CubeU5_Demo_STM32U575I-EV.hex binaries on your STM32U575I-EV Evaluation board with the required version V1.0. To upgrade your board, please visit STM32U575I-EV compiled demo binary

Known Limitations

  • Some project are not generated with STM32CubeMX tool for the exhaustive list please refer to the table available in STM32CubeProjectsList.html
  • The component “USBX/CoreSystem” must be selected alongside either “USBX/UX Host CoreStack” or “USBX/UX Device CoreStack”
  • In NetXDuo, some configuration flags, that are not used in the STM32Cube FW package examples, might be non-functional when combined. This limitation will be fixed in upcoming releases
  • Comment error in “MX_WIFI BSP Component” Release_Notes : “The EMW3080B MXCHIP Wi-Fi module firmware version has to be V2.3.4 instead of V2.3.4 rc 13”

Backward compatibility

  • veml6030 BSP is replaced by veml3235 BSP component Driver in B-U585I-IOT02A projects

Main Changes

Official Release of STM32CubeU5 Firmware Package supporting STM32U535xx, STM32U545xx, STM32U575xx, STM32U585xx, STM32U595xx, STM32U5A5xx, STM32U599xx and STM32U5A9xx devices

Contents

CMSIS Drivers updates

CMSIS Device Official Release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual) (Please Refer to the release notes for details)

  • Add “stm32u535xx.h” and “stm32u545xx.h” files
  • Add startup files “startup_stm32u535xx.s” and “startup_stm32u545xx.s” for EWARM and STM32CUBEIDE toolchains
  • Add Universal serial bus full-speed host/device interface (USB) for STM32U535xx and STM32U545xx devices

HAL/LL Drivers updates

  • HAL and LL drivers Official Release for STM32U535xx, STM32U545xx, STM32U575xx, STM32U585xx, STM32U595xx, STM32U5A5xx, STM32U599xx and STM32U5A9xx devices (Please Refer to the release notes for details)
  • Update USB HAL and LL drivers for STM32U535xx and STM32U545xx devices
  • General updates to fix known defects and implementation enhancements
  • The HAL and LL drivers provided within this package are MISRA-C and CodeSonar compliant, and have been reviewed with a static analysis tool to eliminate possible run-time errors

BSP Drivers updates

  • Add STM32U5x9J-DK BSP Driver to support STM32U5x9J-DK board for STM32U599xx and STM32U5A9xx devices
  • Update STM32U5xx_Nucleo BSP Driver to support NUCLEO-U545RE-Q board for STM32U535xx and STM32U545xx devices
  • Replace BSP m24lr64 by m24256
  • Add aps512xx BSP Component
  • Add mx25um51245g BSP Component
  • Add sitronix BSP Component

Middlewares updates

  • Major update in AzureRTOS Middlewares (new version V6.2.0)
  • Major update in mbed-crypto Middleware

Utilities updates

  • LPBAM: Add the support of stm32U535xx, stm32U545xx, stm32U595xx, stm32U5A5xx, stm32U599xx and stm32U5A9xx devices.

Projects updates

  • Add 45 new projects with EWARM, MDK-ARM and STM32CubeIDE toolchains. Detailed list is in the Project’s release notes:
  • Add 25 new projects on NUCLEO-U545RE-Q board:
    • 7 Applications
    • 15 examples
    • 2 HAL Templates (TZEN=0 and TZEN=1)
    • 1 LL Template (TZEN=0)
  • Add 20 new projects on STM32U5x9J-DK board:
    • 6 Applications
    • 11 examples
    • 2 HAL Templates (TZEN=0 and TZEN=1)
    • 1 LL Template (TZEN=0)
  • Add 20 new projects on NUCLEO-U5A5ZJ-Q board:
    • 6 Applications
    • 4 examples
    • 2 HAL Templates (TZEN=0 and TZEN=1)
    • 1 LL Template (TZEN=0)
  • Add FLASH_SwapBanks new project on NUCLEO-U575ZI-Q board with EWARM, MDK-ARM toolchains
  • Add following projects with MDK-ARM and STM32CubeIDE toolchains:
    • NUCLEO-U575ZI-Q\Examples\FLASH_ChangeOptionBytes
    • B-U585I-IOT02A\Applications\SBSFU_Appli
    • B-U585I-IOT02A\Applications\SBSFU_Boot
    • B-U585I-IOT02A\Applications\SBSFU_Loader
    • B-U585I-IOT02A\Applications\TFM_Appli
    • B-U585I-IOT02A\Applications\TFM_Loader
    • B-U585I-IOT02A\Applications\TFM_SBSFU_Boot
    • B-U585I-IOT02A\Applications\Nx_IAP_Client
    • B-U585I-IOT02A\Applications\Nx_HTTP_SSE
    • B-U585I-IOT02A\Applications\Nx_Network_Basics
    • B-U585I-IOT02A\Applications\Nx_MDNS
  • TFM and SBSFU Applications runs on STM32U585xx devices and it is possible to tailor the applications for STM32U5A5xx or STM32U545xx devices (details are provided in the applications readme files)

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

Name Version Release notes
Projects V1.2.0 release notes

Notes:

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply Please refer to AN5347 for more details
  • The MicroLIB option should be enabled to display messages in HyperTerminal in the MDK-ARM projects. Detailed list is in the Project’s release notes.
  • The user should unplug then Plug STLINK connection on Slave Board to perform a power-on-reset when running I2C_WakeUpFromStop example on NUCLEO-U575ZI-Q board.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
CMSIS V5.6.0_cm33 release notes
STM32U5xx CMSIS V1.2.0 release notes
STM32U5xx HAL V1.2.0 release notes
STM32U5xx NUCLEO V1.2.0 release notes
BSP STM32U575I-EV V1.2.0 release notes
BSP B-U585I-IOT02A V1.2.0 release notes
BSP STM32U5x9J-DK V1.0.0 release notes
BSP aps512xx V1.0.1 release notes
BSP aps6408 V1.0.2 release notes
BSP Common V7.2.1 release notes
BSP cs42l51 V2.0.4 release notes
BSP hts221 V5.5.0 release notes
BSP hx8347i V2.0.3 release notes
BSP iis2mdc V1.3.0 release notes
BSP ism330dhcx V1.3.0 release notes
BSP lps22hh V1.4.0 release notes
BSP lsm6dso V1.7.0 release notes
BSP m24256 V1.0.1 release notes
BSP mfxstm32l152 V4.0.1 release notes
BSP mx_wifi V2.3.4 release notes
BSP mx25lm51245g V2.0.8 release notes
BSP mx25um51245g V1.0.0 release notes
BSP ov5640 V3.2.3 release notes
BSP sitronix V1.0.0 release notes
BSP stm32wb_at V1.0.12 release notes
BSP sx8651 V1.0.2 release notes
BSP tcpp0203 V1.2.2 release notes
BSP veml6030 V1.0.3 release notes
BSP vl53l5cx V1.0.3 release notes
Middlewares
Name Version Release note
STM32_TouchSensing_Library V2.2.9 release notes
STM32_Network_Library V2.3.0 release notes
STM32 USBPD Core Library V4.1.1 release notes
STM32 USBPD Device Library u5_v3.2.0 release notes
mbed-crypto mbed-tls-v2.28.0.1 ST release notes
STSAFE_A1xx MW_V3.3.5 ST release notes
SE_STSAFEA_API SE_STSAFEA_API_V1.0.0 ST release notes
trustedfirmware tfm/v1.3.0.8 ST release notes
mcuboot V1.7.2.10 ST release notes
OpenBootloader V6.1.1 release notes
ThreadX threadx-6.2.0.221223 release notes
NetXduo netxduo-6.2.0.221223 release notes
USBX usbx-6.2.0.221223 release notes
FileX filex-6.2.0.221223 release notes
LevelX levelx-6.2.0.221223 release notes
cmsis_rtos_threadx tx-cmsis-1.1.0.220930 release notes
Utilities
Name Version Release note
Common V1.6.1 release notes
Fonts V2.0.3 release notes
GUI_INTERFACE GUI_V2.2.3 release notes
lcd V2.0.2 release notes
lpbam V1.3.0 release notes
TRACER_EMB V1.8.0 release notes

Development toolchains and compilers

Supported Devices and boards

  • STM32U575/STM32U585 devices
  • STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices
  • STM32U535/STM32U545 devices
  • NUCLEO-U575ZI-Q Nucleo board rev.C
  • STM32U575I-EV Evaluation board rev.C
  • B-U585I-IOT02A Discovery board rev.C
  • NUCLEO-U545RE-Q Nucleo board rev.A
  • NUCLEO-U5A5ZJ-Q Nucleo board rev.C
  • STM32U5x9J-DK Discovery board rev.B

Dependencies

  • This software release is compatible with:
    • STM32CubeMX version V6.8.0
    • STM32CubeProgrammer version V2.12.0
  • It is recommended to use CLI of STM32CubeProgrammer for execution of SBSFU and TFM applications, please refer to readme file of applications for more details
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server_reference.hex present in .\STM32Cube_FW_WB_V1.x.x\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_AT_Server\Binary\BLE_AT_Server_reference.hex
  • The EMW3080B MXCHIP Wi-Fi module firmware version used is V2.3.4, for more details refer to Wi-Fi example readme files which can be found at Projects\B-U585I-IOT02A under Applications\NetXDuo and \Demonstrations\IOT_HTTP_WebServer.
  • When using STM32CubeIDE v1.12.0 with STM32U575I-EV and STM32U5x9J-DK boards, the user should use ST-LINK(OpenOCD)
  • The IOT_HTTP_WebServer demonstration uses an updated version of STM32CubeU5_Demo_U585I-IOT02A_v1.2.hex binaries. To upgrade your B-U585I-IOT02A Discovery board with the required version V1.2, please visit B-U585I-IOT02A compiled demo binary
  • The EVAL Demonstration requires to have STM32CubeU5_Demo_STM32U575I-EV.hex binaries on your STM32U575I-EV Evaluation board with the required version V1.0, please visit STM32U575I-EV compiled demo binary

Known Limitations

  • Some project are not generated with STM32CubeMX tool for the exhaustive list please refer to this table STM32CubeProjectsList.html
  • The component “USBX/CoreSystem” must be selected alongside either “USBX/UX Host CoreStack” or “USBX/UX Device CoreStack”
  • In NetXDuo, some configuration flags, that are not used in the STM32Cube FW package examples, might be non-functional when combined. This limitation will be fixed in upcoming releases
  • Comment error in “MX_WIFI BSP Component” Release_Notes : “The EMW3080B MXCHIP Wi-Fi module firmware version has to be V2.3.4 instead of V2.3.4 rc 13”
  • STM32U575I-EV\Examples\DCACHE\DCACHE_Maintenance STM32CubeIDE and MDK-ARM support will be reworked for the next release v1.3.0
  • STM32U5x9J-DK\Examples\BSP MDK-ARM support will be provided in the next release v1.3.0
  • NUCLEO-U545RE-Q\Examples\PWR\PWR_ModesSelection MDK-ARM support will be provided in the next release v1.3.0
  • NUCLEO-U575ZI-Q\Examples\FLASH\FLASH_SwapBanks STM32CubeIDE support will be provided in the next release v1.3.0
  • B-U585I-IOT02A\Demonstrations\IOT_HTTP_WebServer with MDK-ARM and STM32CubeIDE toolchains will be reworked for the next release v1.3.0

Backward compatibility

  • m24lr64 BSP is replaced by m24256 BSP component in B-U585I-IOT02A and STM32U575I-EV projects

Main Changes

Patch release of STM32CubeU5 Firmware Package

  • Update of ThreadX and NetDuoX Middlewares to new version V6.1.10
  • Add LPBAM application LPBAM_ADC_TempSense on NUCLEO-U575ZI-Q board

Contents

Middlewares Drivers updates

  • Update of ThreadX and NetDuoX Middlewares to new version V6.1.10

Utilities Drivers updates

  • Update of LPBAM Utility to new version V1.1.1

Projects updates

  • Add LPBAM application LPBAM_ADC_TempSense on NUCLEO-U575ZI-Q board in STM32CubeMX V6.5.0 supported with IAR, MDK-ARM and STM32CubeIDE toolchains

Fixed bugs list

Headline
Fix an issue to build the GTZC_MPCWM_IllegalAccess_TrustZone example after the regeneration on STM32U575I-EV board
Update internal connection description in OPAMP_Follower example readme.html file on NUCLEO-U575ZI-Q board

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

Name Version Release notes
Projects V1.1.1 release notes

Notes:

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply

Please refer to AN5347 for more details

  • The MicroLIB option should be enabled to display messages in HyperTerminal in the following (MDK-ARM) projects list under Projects\:
    • B-U585I-IOT02A\Applications\BLE\BLE_AT_Client
    • B-U585I-IOT02A\Applications\FileX\Fx_NoR_Write_Read_File
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_MQTT_Client
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_SNTP_Client
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_TCP_Echo_Client
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_TCP_Echo_Server
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_UDP_Echo_Client
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_UDP_Echo_Server
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_WebServer
    • B-U585I-IOT02A\Applications\ThreadX\Tx_CMSIS_Wrapper
    • NUCLEO-U575ZI-Q\Applications\FileX_SRAM_File_Edit_Standalone
    • NUCLEO-U575ZI-Q\Applications\ThreadX\Tx_MPU
    • NUCLEO-U575ZI-Q\Applications\ThreadX\Tx_Thread_Sync
    • STM32U575I-EV\Applications\FileX\Fx_Dual_Instance
    • STM32U575I-EV\Applications\FileX\Fx_Dual_Instance
    • STM32U575I-EV\Applications\FileX\FX_IAP\IAP_binary_template
    • STM32U575I-EV\Applications\FileX\FX_IAP\IAP_main
    • STM32U575I-EV\Applications\USBX\Ux_Device_CDC_ECM
    • STM32U575I-EV\Examples\UART\UART_Printf
    • STM32U575I-EV\Examples\GTZC\GTZC_MPCWM_IllegalAccess_TrustZone
  • The user should unplug then Plug STLINK connection on Slave Board to perform a power-on-reset when running I2C_WakeUpFromStop example on NUCLEO-U575ZI-Q board

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
Cortex-M CMSIS V5.6.0_cm33 release notes
STM32U5xx CMSIS V1.1.0 release notes
STM32U5xx HAL V1.1.0 release notes
STM32U5xx NUCLEO V1.1.0 release notes
BSP STM32U575I-EV V1.1.0 release notes
BSP B-U585I-IOT02A V1.1.0 release notes
BSP aps6408 V1.0.1 release notes
BSP Common V7.2.0 release notes
BSP cs42l51 V2.0.3 release notes
BSP hts221 V5.3.2 release notes
BSP hx8347i V2.0.3 release notes
BSP iis2mdc V1.1.2 release notes
BSP ism330dhcx V1.1.3 release notes
BSP lps22hh V1.2.2 release notes
BSP lsm6dso V1.5.4 release notes
BSP m24lr64 V1.0.2 release notes
BSP mfxstm32l152 V4.0.0 release notes
BSP mx_wifi v2.1.12 release notes
BSP mx25lm51245g V2.0.8 release notes
BSP ov5640 V3.2.2 release notes
BSP stm32wb_at V1.0.11 release notes
BSP sx8651 V1.0.1 release notes
BSP tcpp0203 V1.2.2 release notes
BSP veml6030 V1.0.1 release notes
BSP vl53l5cx V1.0.1 release notes
Middlewares
Name Version Release note
STM32 TouchSensing Library V2.2.8 release notes
STM32 USBPD Core Library V4.1.0 release notes
STM32 USBPD Device Library u5_v3.1.0 release notes
mbed-crypto mbed-crypto-2.25.0 ST release notes
STSAFE_A1xx MW_V3.3.5 ST release notes
SE_STSAFEA_API SE_STSAFEA_API_V1.0.0 ST release notes
mcuboot V1.7.2 ST release notes
trustedfirmware tfm/v1.3.0 ST release notes
OpenBootloader V6.0.1 release notes
Network Library V2.2.0f release notes
ThreadX threadx-6.1.10.220513 release notes
NetXduo netxduo-6.1.10.220513 release notes
USBX usbx-6.1.9.220128 release notes
FileX filex-6.1.8.220128 release notes
LevelX levelx-6.1.9.220128 release notes
cmsis_rtos_threadx tx-cmsis-1.0.4.211108 release notes
Utilities
Name Version Release note
Common V1.6.0 release notes
Fonts V2.0.3 release notes
GUI_INTERFACE GUI_V2.2.1 release notes
lcd V2.0.2 release notes
lpbam V1.1.1 release notes
TRACER_EMB V1.7.1 release notes

Development toolchains and compilers

Supported Devices and Boards

  • STM32U575/STM32U585 devices
  • STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices
  • NUCLEO-U575ZI-Q Nucleo board rev.C
  • STM32U575I-EV Evaluation board rev.C
  • B-U585I-IOT02A Discovery board rev.C

Dependencies

  • This software release is compatible with:
    • STM32CubeMX version V6.5.0
    • STM32CubeProgrammer version V2.10.0
  • It is recommended to use CLI of STM32CubeProgrammer for execution of SBSFU and TFM applications, please refer to readme file of applications for more details
  • The EMW3080B MXCHIP Wi-Fi module firmware used version is V2.1.11 and the way to update your board with it are available at x-wifi-emw3080b
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server_reference.hex present in .\STM32Cube_FW_WB_V1.x.x\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_AT_Server\Binary\BLE_AT_Server_reference.hex

Known limitations

  • BSP MXCHIP: Access point mode with the TCP/IP mode on STM32 host is not functional. It works when TCP/IP runs on the EMW3080B module
  • Some project are not generated with STM32CubeMX tool for the exhaustive list please refer to this table STM32CubeProjectsList.html
  • The following projects are not supported with MDK-ARM and STM32CubeIDE toolchains (Will be provided in next Release V1.2.0):
    • FLASH_ChangeOptionBytes
    • SBSFU_Appli
    • SBSFU_Boot
    • SBSFU_Loader
    • TFM_Appli
    • TFM_Loader
    • TFM_SBSFU_Boot
    • Nx_IAP_Client
    • Nx_HTTP_SSE
    • Nx_Network_Basics
    • Nx_MDNS
  • The NUCLEO-U575ZI-Q\Applications\ThreadX\Tx_MPU Project Architecture with STM32CubeIDE is not aligned with recommended STM32CubeIDE Architecture(Will be reworked for next Release V1.2.0)
  • The following Netxduo Applications on B-U585I-IOT02A board come with known compilation warning Related to the NetXDUO third party stack with EWARM (Will be fixed in next Releases):
    • Nx_HTTP_SSE
    • Nx_IAP_Client
    • Nx_MDNS

Backward compatibility

This release is compatible with the previous versions

Main Changes

  • Maintenance Release of STM32CubeU5 Firmware Package

CMSIS Device updates

  • CMSIS Device Maintenance Release version of bits and registers definition aligned with RM0456 (STM32U5 reference manual) (Please Refer to the release notes for details)
    • Add the support of STM32U595xx, STM32U5A5xx, STM32U599xx and STM32U5A9xx devices
    • Define XSPI_TypeDef as alias to OCTOSPI_TypeDef and HSPI_TypeDef
    • Define XSPIM_TypeDef as alias to OCTOSPIM_TypeDef
    • Update XSPI bit definition to alias OCTOSPI and HSPI bits
    • Add OPAMP12_COMMON_NS, OPAMP12_COMMON_S, OPAMP12_COMMON, OPAMP12_COMMON_BASE defines
    • Update OPAMP_Common_TypeDef to align with reference manual
    • Add the SRAM4 memory definition in all STM32CubeIDE flashloader files
    • Update the flash size define to support:
      • STM32U575/STM32U585: 2Mbytes flash devices
      • STM32U595/STM32U5A5/STM32U599/STM32U5A9: 4Mbytes flash devices
    • Rename PVD_AVD_IRQHandler to PVD_PVM_IRQHandler in all start-up files
    • Rename RCC_AHB2RSTR1_ADC1RST to RCC_AHB2RSTR1_ADC12RST
    • Rename RCC_AHB2ENR1_ADC1EN to RCC_AHB2ENR1_ADC12EN
    • Rename RCC_AHB2SMENR1_ADC1SMEN to RCC_AHB2SMENR1_ADC12SMEN
    • Rename RCC_CCIPR1_CLK48MSEL to RCC_CCIPR1_ICLKSEL
    • Rename RCC_SECCFGR_CLK48MSEC to RCC_SECCFGR_ICLKSEC
    • Add TIM3 and TIM4 are missing in IS_TIM_32B_COUNTER_INSTANCE macro definition

HAL/LL Drivers updates

  • HAL and LL drivers Maintenance Release for STM32U575xx / STM32U585xx devices and new support of STM32U595xx, STM32U5A5xx, STM32U599xx and STM32U5A9xx devices (Please Refer to the release notes for details)
  • Add New LTDC, GFXMMU, DSI, GPU2D HAL drivers highlighting the graphics aspect of STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices
  • Add New HAL XSPI driver which supports OCTOSPI and Hexa-Deca SPI interface for both STM32U575/STM32U585 and STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices
  • All the HAL/LL drivers are updated to support both STM32U575/STM32U585 and STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices
  • General updates to fix known defects and implementation enhancements
  • The HAL and LL drivers provided within this package are MISRA-C, MCU ASTYLE and CodeSonar compliant, and have been reviewed with a static analysis tool to eliminate possible run-time errors

- HAL Drivers updates

  • All the HAL drivers are updated to support both STM32U575/STM32U585 and STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices
  • HAL ADC driver
    • Add the following functions:
      • HAL_ADCEx_MultiModeStart_DMA_Data32()
      • HAL_ADCEx_MultiModeGetValue_Data32()
    • Update the DMA data length management implementation according to source/destination width
    • Enhance HAL_ADCEx_Calibration_GetValue() function implementation for proper ADC4 instance support
    • Enhance HAL_ADC_DeInit() and HAL_ADC_ConfigChannel() function implementation
  • HAL DCACHE driver
    • Add HAL_DCACHE_IsEnabled API to check whether the DCACHE is enabled or not
    • Enhance HAL_DCACHE_UnRegisterCallback() API
    • Enhance the timeout management
    • Enhance error code management by :
      • Resetting DCACHE handle error code any time a new operation is launched
      • Adding HAL_DCACHE_ERROR_INVALID_OPERATION error code: used in HAL_DCACHE_SetReadBurstType() API when DCACHE is enabled
      • Adding HAL_DCACHE_ERROR_EVICTION_CLEAN error code: used in HAL_DCACHE_IRQHandler() API when DCACHE error interrupt flag is set
    • Change the returned HAL status when there is an ongoing operation from HAL_ERROR to HAL_BUSY
    • Change DCACHE handle state to HAL_DCACHE_STATE_READY any time a new operation is launched
  • HAL DMA driver
    • Enhance LinkAllocatedPort implementation
  • HAL GPIO driver
    • Reorder EXTI configuration in HAL_GPIO_Init() API
  • HAL GTZC driver
    • Rename GTZC_PERIPH_DCMI define to GTZC_PERIPH_DCMI_PSSI
  • HAL driver
    • Add the following functions:
      • HAL_SYSCFG_SetOTGPHYReferenceClockSelection()
        • HAL_SYSCFG_SetOTGPHYPowerDownConfig()
        • HAL_SYSCFG_EnableOTGPHY()
      • HAL_SYSCFG_EnableVddCompensationCell()
        • HAL_SYSCFG_EnableVddIO2CompensationCell()
        • HAL_SYSCFG_EnableVddHSPICompensationCell()
        • HAL_SYSCFG_DisableVddCompensationCell()
        • HAL_SYSCFG_DisableVddIO2CompensationCell()
        • HAL_SYSCFG_DisableVddHSPICompensationCell()
  • HAL HCD driver
    • Fix handling of ODDFRM bit in OTG_HCCHARx for Isochronous IN transactions
  • HAL ICACHE driver
    • Add HAL_ICACHE_IsEnabled() API to check whether the ICACHE is enabled or not
  • HAL LPTIM driver
    • Add HAL_LPTIM_IC_GetOffset() function
    • Rename HAL_LPTIM_ReadCompare to HAL_LPTIM_ReadCapturedValue
    • Add parameters checks in HAL_LPTIM_xxx_Start_DMA functions
  • HAL MMC driver
    • Add the following functions:
      • HAL_MMC_SleepDevice()
      • HAL_MMC_AwakeDevice()
  • HAL PCD driver
    • Add the following functions:
      • HAL_PCD_EP_Abort()
      • HAL_PCD_SetTestMode()
    • Correct received transfer length with USB DMA activated
    • Add handling of USB OUT Endpoint disable interrupt
    • Fix device IN endpoint isoc incomplete transfer interrupt handling
    • Fix USB device Isoc OUT Endpoint incomplete transfer interrupt handling
    • Set DCD timeout to minimum value of 300ms before starting BCD primary detection process
  • HAL PWR driver
    • Add the following functions:
      • HAL_PWREx_EnableUSBHSTranceiverSupply()
      • HAL_PWREx_DisableUSBHSTranceiverSupply()
      • Rename PWR_SRAMx_PAGEx_MODE_RETENTION to PWR_SRAMx_PAGEx_MODE
  • HAL RCC driver
    • Enhance HAL_RCC_ClockConfig() function implementation
    • Update HAL_RCC_OscConfig() function implementation on PWR clocking control
    • Update HAL_RCC_OscConfig() function implementation to be tolerant to an identical PLL1 parameters re-configuration
    • Enhance of PLL1 outputs clearing time in HAL_RCC_OscConfig()
    • Remove RCC_PLL_SOURCE_NONE from correct parameters list on PLL1 configuration
    • Rename RCC_PERIPHCLK_CLK48 to RCC_PERIPHCLK_ICLK defines
    • Rename RCC_CLK48CLKSOURCE_XXX to RCC_ICLK_CLKSOURCE_XXX defines
    • Rename __HAL_RCC_ADC1_XXX_YYY to __HAL_RCC_ADC12_XXX_YYY macros
    • Rename __HAL_RCC_USB_OTG_FS_CLK_XXX to __HAL_RCC_USB_CLK_XXX macros
    • Rename Clk48ClockSelection to IclkClockSelection in RCC_PeriphCLKInitTypeDef
  • HAL SPI driver
    • Fix compilation warning with GNU compiler
  • HAL TIM driver
    • Add IS_TIM_PERIOD macro in HAL_TIM_xxx_Init functions
  • HAL UART driver
    • Rework HAL_UART_DMAPause() function in order to use DMA instead of UART to pause data transfer
    • Rework HAL_UART_DMAResume() function in order to use DMA instead of UART to resume data transfer
  • HAL USART driver
    • Rework HAL_USART_DMAPause() function in order to use DMA instead of USART to pause data transfer
    • Rework HAL_USART_DMAResume() function in order to use DMA instead of USART to resume data transfer

LL Drivers updates

  • All the LL drivers are updated to support both STM32U575/STM32U585 and STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices
  • LL ADC driver
    • Add the following functions:
      • LL_ADC_SetVrefProtection()
      • LL_ADC_GetVrefProtection()
  • LL I2C driver
    • Add I2C instances 5 and 6 configuration within LL driver
  • LL LPTIM driver
    • Add LL_LPTIM_IC_GET_OFFSET macro
    • Rename the following static inline functions:
      • LL_LPTIM_SetCompareCH1 to LL_LPTIM_OC_SetCompareCH1
      • LL_LPTIM_SetCompareCH2 to LL_LPTIM_OC_SetCompareCH2
      • LL_LPTIM_GetCompareCH1 to LL_LPTIM_OC_GetCompareCH1
      • LL_LPTIM_GetCompareCH2 to LL_LPTIM_OC_GetCompareCH2
  • LL OPAMP driver
    • Add __LL_OPAMP_COMMON_INSTANCE macro
  • LL RCC driver
    • Add the following functions:
      • LL_RCC_SetUSBPHYClockSource()
      • LL_RCC_PLL3_EnableDomain_HSPI_LTDC()
      • LL_RCC_PLL3_DisableDomain_HSPI_LTDC()
      • LL_RCC_PLL3_ConfigDomain_HSPI_LTDC()
      • LL_RCC_PLL1_IsEnabledDomain_SAI()
      • LL_RCC_PLL1_IsEnabledDomain_48M()
      • LL_RCC_PLL1_IsEnabledDomain_SYS()
      • LL_RCC_PLL2_IsEnabledDomain_SAI()
      • LL_RCC_PLL2_IsEnabledDomain_48M()
      • LL_RCC_PLL2_IsEnabledDomain_ADC()
      • LL_RCC_PLL3_IsEnabledDomain_SAI()
      • LL_RCC_PLL3_IsEnabledDomain_48M()
      • LL_RCC_PLL3_IsEnabledDomain_HSPI_LTDC()
    • Enhance the following functions implementation:
      • LL_RCC_GetUSARTClockFreq(): Fix LPUART1 returned frequency when PCLK3 is set as clock source
      • LL_RCC_GetPPPClockFreq: Add check of PLL output enable bit status
    • Rename the macro __LL_RCC_CALC_PLL3CLK_HSPI_FREQ to __LL_RCC_CALC_PLL3CLK_HSPI_LTDC_FREQ
    • Rename the static API RCC_PLL3_GetFreqDomain_HSPI to RCC_PLL3_GetFreqDomain_HSPI_LTDC
    • Rename LL_RCC_USART6_CLKSOURCE_PCLK2 to LL_RCC_USART6_CLKSOURCE_PCLK1
  • LL RTC driver
    • Add LL_RTC_IsActiveFlag_ITAMP7() function
  • LL USART driver
    • Add USART instance 6 configuration within LL driver
  • LL USB driver
    • Add USB_EPStopXfer() function

Backward compatibility ensured by legacy defines

Middlewares Drivers updates

  • Update of AzureRtos Middleware to new version V6.1.9
  • Update of USBPD Core and Device Libraries to new versions
  • Major update of Security middlewares : mcuboot v1.7.2 and Trustedfirmware v1.3.0
  • Add support of secure element STSAFE-A110 for TFM use case
  • Update of trustedfirmware Middleware to new version v1.3.0
    • Add support of firmware update partition
    • Add support of data provisioning

BSP Drivers updates

  • Rework Audio BSP driver on B-U585I-IOT02A board
  • Add New ranging sensor BSP driver on B-U585I-IOT02A board
  • Add New VL53L5CX BSP component driver

Contents

Projects

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

This release contains all HAL drivers, LL drivers, BSP drivers, templates, projects, demonstrations and examples

  • Update LPBAM applications and all STM32CubeMX V6.5.0 supported projects by adding Low Power features (As SMPS regulator configuration) to enhance power consumption
  • Enhance output or alternate push-pull configuration of almost all Projects for low power consumption optimization
  • Add new HAL OSPI example OSPI_PSRAM_MemoryMapped on STM32U575I-EV board
  • Update SBSFU and TFM applications for new versions of middlewares with Security features and integration of STSAFE Middleware on B-U585I-IOT02A board
  • Add VL53L5CX BSP and ranging sensor BSP drivers to BSP example on B-U585I-IOT02A
  • Update BSP example on B-U585I-IOT02A boards with Audio IN functionality
  • Update of IOT_HTTP_WebServer Demonstration to V1.1. B-U585I-IOT02A compiled demo binary V1.1 is published on st.com
  • Remove WifiBasics Application on B-U585I-IOT02A board

  • Azure RTOS applications main changes:
    • Add new Azure RTOS application Ux_Host_HID_CDC_ACM on STM32U575I-EV board
    • Add 4 new Wi-Fi NetXDuo Applications on B-U585I-IOT02A board using V6.5.0 STM32CubeMX version with EWARM toolchain:
      • Nx_IAP_Client
      • Nx_HTTP_SSE
      • Nx_Network_Basics
      • Nx_MDNS
    • Generate USBPD_SRC_UX_Host_MSC, USBPD_SNK_UX_Device_HID_CDC_ACM using STM32CubeMX tool
    • Improve Azure RTOS USBX device applications footprint. Similar improvement will cover other Azure RTOS applications in the future releases
    • Enhance the Nx_WebServer application with dynamic dashboard
    • Rework the FileX applications to use HAL APIs in DMA mode
    • Provide Tx_MPU application with MDK-ARM AC6 and STM32CubeIDE toolchains
    • Rework The FileX standalone application to use SD card memory instead of internal SRAM memory
    • Fix ThreadX tx_queue_create() APIs calls by using correct parameters
    Name Version Release notes
    Projects V1.1.0 release notes

Notes:

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked)
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution
      • Use a power supply different from ST-LINK in order to be able to connect to the target
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply

Please refer to AN5347 for more details

  • The MicroLIB option should be enabled to display messages in HyperTerminal in the following (MDK-ARM) projects list under Firmware\Projects\:
    • B-U585I-IOT02A\Applications\BLE\BLE_AT_Client
    • B-U585I-IOT02A\Applications\FileX\Fx_NoR_Write_Read_File
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_MQTT_Client
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_SNTP_Client
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_TCP_Echo_Client
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_TCP_Echo_Server
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_UDP_Echo_Client
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_UDP_Echo_Server
    • B-U585I-IOT02A\Applications\NetXDuo\Nx_WebServer
    • B-U585I-IOT02A\Applications\ThreadX\Tx_CMSIS_Wrapper
    • NUCLEO-U575ZI-Q\Applications\FileX_SRAM_File_Edit_Standalone
    • NUCLEO-U575ZI-Q\Applications\ThreadX\Tx_MPU
    • NUCLEO-U575ZI-Q\Applications\ThreadX\Tx_Thread_Sync
    • STM32U575I-EV\Applications\FileX\Fx_Dual_Instance
    • STM32U575I-EV\Applications\FileX\Fx_Dual_Instance
    • STM32U575I-EV\Applications\FileX\FX_IAP\IAP_binary_template
    • STM32U575I-EV\Applications\FileX\FX_IAP\IAP_main
    • STM32U575I-EV\Applications\USBX\Ux_Device_CDC_ECM
    • STM32U575I-EV\Examples\UART\UART_Printf
  • The user should unplug then Plug STLINK connection on Slave Board to perform a power-on-reset when running I2C_WakeUpFromStop example on NUCLEO-U575ZI-Q board

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
Cortex-M CMSIS V5.6.0_cm33 release notes
STM32U5xx CMSIS V1.1.0 release notes
STM32U5xx HAL V1.1.0 release notes
STM32U5xx NUCLEO V1.1.0 release notes
BSP STM32U575I-EV V1.1.0 release notes
BSP B-U585I-IOT02A V1.1.0 release notes
BSP aps6408 V1.0.1 release notes
BSP Common V7.2.0 release notes
BSP cs42l51 V2.0.3 release notes
BSP hts221 V5.3.2 release notes
BSP hx8347i V2.0.3 release notes
BSP iis2mdc V1.1.2 release notes
BSP ism330dhcx V1.1.3 release notes
BSP lps22hh V1.2.2 release notes
BSP lsm6dso V1.5.4 release notes
BSP m24lr64 V1.0.2 release notes
BSP mfxstm32l152 V4.0.0 release notes
BSP mx_wifi v2.1.12 release notes
BSP mx25lm51245g V2.0.8 release notes
BSP ov5640 V3.2.2 release notes
BSP stm32wb_at V1.0.11 release notes
BSP sx8651 V1.0.1 release notes
BSP tcpp0203 V1.2.2 release notes
BSP veml6030 V1.0.1 release notes
BSP vl53l5cx V1.0.1 release notes
Middlewares
Name Version Release note
STM32 TouchSensing Library V2.2.8 release notes
STM32 USBPD Core Library V4.1.0 release notes
STM32 USBPD Device Library u5_v3.1.0 release notes
mbed-crypto mbed-crypto-2.25.0 ST release notes
STSAFE_A1xx MW_V3.3.5 ST release notes
SE_STSAFEA_API SE_STSAFEA_API_V1.0.0 ST release notes
mcuboot V1.7.2 ST release notes
trustedfirmware tfm/v1.3.0 ST release notes
OpenBootloader V6.0.1 release notes
Network Library V2.2.0f release notes
ThreadX threadx-6.1.9.220128 release notes
NetXduo netxduo-6.1.9.220128 release notes
USBX usbx-6.1.9.220128 release notes
FileX filex-6.1.8.220128 release notes
LevelX levelx-6.1.9.220128 release notes
cmsis_rtos_threadx tx-cmsis-1.0.4.211108 release notes
Utilities
Name Version Release note
Common V1.6.0 release notes
Fonts V2.0.3 release notes
GUI_INTERFACE GUI_V2.2.1 release notes
lcd V2.0.2 release notes
lpbam V1.1.0 release notes
TRACER_EMB V1.7.1 release notes

Development Toolchains and Compilers

Supported Devices and boards

  • STM32U575/STM32U585 devices
  • STM32U595/STM32U5A5/STM32U599/STM32U5A9 devices
  • NUCLEO-U575ZI-Q Nucleo board rev.C
  • STM32U575I-EV Evaluation board rev.C
  • B-U585I-IOT02A Discovery board rev.C

Dependencies

  • STM32CubeMX Version: Projects are generated using STM32CubeMX V6.5.0
  • The EMW3080B MXCHIP Wi-Fi module firmware used version is V2.1.11 and the way to update your board with it are available at x-wifi-emw3080b
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server_reference.hex present in .\STM32Cube_FW_WB_V1.x.x\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_AT_Server\Binary\BLE_AT_Server_reference.hex

Known Limitations

  • BSP MXCHIP: Access point mode with the TCP/IP mode on STM32 host is not functional. It works when TCP/IP runs on the EMW3080B module
  • Some project are not generated with STM32CubeMX tool for the exhaustive list please refer to this table STM32CubeProjectsList.html
  • The following projects are not supported with MDK-ARM and STM32CubeIDE toolchains:
    • FLASH_ChangeOptionBytes
    • SBSFU_Appli
    • SBSFU_Boot
    • SBSFU_Loader
    • TFM_Appli
    • TFM_Loader
    • TFM_SBSFU_Boot
    • Nx_IAP_Client
    • Nx_HTTP_SSE
    • Nx_Network_Basics
    • Nx_MDNS
  • The NUCLEO-U575ZI-Q\Applications\ThreadX\Tx_MPU Project Architecture with STM32CubeIDE is not aligned with recommended STM32CubeIDE Architecture.(Will be reworked for next Release V1.2.0)
  • The following ThreadX Project on NUCLEO-U575ZI-Q (Tx_FreeRTOS_Wrapper) comes with known compilation warning Related to the ThreadX third party stack with STM32CubeIDE
  • The following Netxduo Applications on B-U585I-IOT02A board come with known compilation warning Related to the NetXDUO third party stack with EWARM:
    • Nx_HTTP_SSE
    • Nx_IAP_Client
    • Nx_MDNS

Backward Compatibility

  • HAL RCC driver: Rename Clk48ClockSelection to IclkClockSelection in RCC_PeriphCLKInitTypeDef

Main Changes

  • Patch Release of STM32CubeU5 Firmware Package

HAL/LL Drivers updates

  • LL Drivers updates
    • LL DAC driver
      • Rename of the LPTIM1/3 trigger of the LL DAC to be in line with Reference Manual:
        • Rename LL_DAC_TRIG_EXT_LPTIM1_OUT to LL_DAC_TRIG_EXT_LPTIM1_CH1
        • Rename LL_DAC_TRIG_EXT_LPTIM3_OUT to LL_DAC_TRIG_EXT_LPTIM3_CH1
  • Backward compatibility ensured by legacy defines

Contents

Projects

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

This release contains all HAL drivers, LL drivers, BSP drivers, templates, projects and examples.

Name Version Release notes
Projects V1.0.1 release notes

Notes

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application).
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution.
      • Use a power supply different from ST-LINK in order to be able to connect to the target.
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply.
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked).
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution.
      • Use a power supply different from ST-LINK in order to be able to connect to the target.
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply.

Please refer to AN5347 for more details.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
Cortex-M CMSIS V5.6.0_cm33 release notes
STM32U5xx CMSIS V1.0.1 release notes
STM32U5xx HAL V1.0.2 release notes
STM32U5xx NUCLEO V1.0.1 release notes
BSP STM32U575I-EV V1.0.1 release notes
BSP B-U585I-IOT02A V1.0.1 release notes
BSP aps6408 V1.0.0 release notes
BSP Common V7.1.0 release notes
BSP cs42l51 V2.0.2 release notes
BSP hts221 V5.3.0 release notes
BSP hx8347i V2.0.2 release notes
BSP iis2mdc V1.1.0 release notes
BSP ism330dhcx V1.1.1 release notes
BSP lps22hh V1.2.0 release notes
BSP lsm6dso V1.5.1 release notes
BSP m24lr64 V1.0.1 release notes
BSP mfxstm32l152 V4.0.0 release notes
BSP mx_wifi V2.1.11 release notes
BSP mx25lm51245g V2.0.6 release notes
BSP ov5640 V3.2.1 release notes
BSP stm32wb_at V1.0.8 release notes
BSP sx8651 V1.0.0 release notes
BSP tcpp0203 V1.2.1 release notes
BSP veml6030 V1.0.0 release notes
Middlewares
Name Version Release note
STM32 TouchSensing Library V2.2.6 release notes
STM32 USBPD Core Library V4.0.0 release notes
STM32 USBPD Device Library u5_v3.0.0 release notes
mbed-crypto mbed-crypto-1.1.6 ST release notes
mcuboot V1.0.13 ST release notes
trustedfirmware tfm/v1.0.15 ST release notes
OpenBootloader V5.0.0 release notes
Network Library V2.2.0f release notes
ThreadX threadx-6.1.7.210903 release notes
NetXduo netxduo-6.1.7.210903 release notes
USBX usbx-6.1.7.210903 release notes
FileX filex-6.1.7.210903 release notes
LevelX levelx-6.1.7.210903 release notes
Utilities
Name Version Release note
Common V1.4.1 release notes
Fonts V2.0.2 release notes
GUI_INTERFACE GUI_V2.1.0 release notes
lcd V2.0.1 release notes
lpbam V1.0.1 release notes
TRACER_EMB V1.6.1 release notes

Development Toolchains and Compilers

Supported Devices and boards

  • STM32U575/STM32U585 devices
  • NUCLEO-U575ZI-Q Nucleo board rev.C
  • STM32U575I-EV Evaluation board rev.C
  • B-U585I-IOT02A Discovery board rev.C

Dependencies

  • STM32CubeMX V6.3.0
    • Projects (Examples and Applications) are generated using STM32CubeMX version V6.3.0.
  • The EMW3080B MXCHIP Wi-Fi module firmware used version is V2.1.11 and the way to update your board with it are available at x-wifi-emw3080b.
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server.hex is present in the BLE_AT_Client application under Module Binary folder.

Known Limitations

  • The ThreadX “tx_queue_create” API is not correctly used in some Azure RTOS applications leading to potential instabilities. These limitations will be fixed in future releases.
  • BSP MXCHIP: Access point mode with the TCP/IP mode on STM32 host is not functional. It works when TCP/IP runs on the EMW3080B module.
  • When using STM32CubeIDE v1.7.0 with an STM32U575-EV Evaluation board, the user should either use ST-LINK(OpenOCD) or set the SWD frequency to 1MHz or 8 MHz manually if using STLINK(GDB server).
  • Some projects are not generated with STM32CubeMX tool for the exhaustive list please refer to this table STM32CubeProjectsList.html.
  • The following projects are not supported with MDK-ARM and STM32CubeIDE toolchains:
    • FLASH_ChangeOptionBytes
    • Tx_MPU
  • Remove Audio IN functionality from B-U585I-IOT02A BSP example.
  • The SMPS regulator configuration in all projects is not supported by STM32CubeMX V6.3.0 (will be provided in next releases).

Backward Compatibility

  • LPBAM Utility : This version breaks the compatibility with previous version for DAC, LPTIM, I2C and SPI modules.

Main Changes

  • Patch Release of STM32CubeU5 Firmware Package

CMSIS Device updates

  • CMSIS Device Patch Release (Please Refer to the release notes for details)
    • Rename OTG_FS_BASE_NS to USB_OTG_FS_BASE_NS define
    • Rename OTG_FS_BASE_S to USB_OTG_FS_BASE_S define
    • Add LSI_STARTUP_TIME define
    • Fix wrong IRQn name in partition_stm32u5xx.h

HAL/LL Drivers updates

  • HAL and LL drivers Patch Release for STM32U575xx / STM32U585xx devices (Please Refer to the release notes for details)
  • HAL Drivers
    • HAL ADC driver
      • Update the DMA data length management implementation according source/destination width
      • Finetune HAL_ADCEx_Calibration_GetValue API to return correct calibration value for ADC4
    • HAL DAC driver
      • Rename of the LPTIM1/3 trigger of the DAC to be in line with Reference Manual:
    • HAL DMA driver
      • Fix DMA register callback error returning in case of invalid callback.
      • Enhance HAL_DMA_GetLockChannelAttributes API implementation to detect wrong parameters values
      • Enhance IS_DMA_ATTRIBUTES macro implementation to detect uncovered cases.
      • Optimize DMA_List_CheckNodesBaseAddresses API implementation by reducing parameters number
      • Optimize DMA_List_CheckNodesTypes API implementation by reducing parameters number
    • HAL GTZC driver
      • Fix issue with the APIs HAL_GTZC_MPCBB_ConfigMem : The CFGLOCK register should be updated after the update of SECCFGR and PRIVCFGR
    • HAL I2C driver
      • Add handle errors support in polling mode
    • HAL RCC driver
      • Fix setting Flash latency from MSIRange in Oscillator Configuration
  • LL Drivers updates
    • LL I2C driver
      • Add LL_I2C_EnableFastModePlus, LL_I2C_DisableFastModePlus and LL_I2C_IsEnabledFastModePlus APIs

BSP Drivers updates

  • B-U585I-IOT02A BSP Drivers Updated version of B-U585I-IOT02A BSP drivers
    • Add new driver light sensor driver
    • Replace ISM330DLC with ISM330DHCX in motion sensors driver
    • Remove Audio IN functionality (b_u585i_iot02a_audio driver under rework, to be re-integrated in the next release)
  • STM32U575I-EV BSP Drivers Updated version of STM32U575I-EV BSP drivers
    • Update the microphone clock settings

Projects

  • Add the support of MDK-ARM and STM32CubeIDE toolchains for almost provided projects:
    • Add 29 new supported projects on both MDK-ARM and STM32CubeIDE toolchains
    • Add 30 new supported projects on MDK-ARM toolchain
    • Add 10 new supported projects on STM32CubeIDE toolchain
  • Align LPBAM Applications with typical power consumption
  • Update all projects to support SMPS regulator configuration to enhance power consumption
  • Add veml6030 and ism330dhcx new BSP components to B-U585I-IOT02A Templates and BSP example

Contents

Projects

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

This release contains all HAL drivers, LL drivers, BSP drivers, templates, projects and examples.

Name Version Release notes
Projects V1.0.1 release notes

Notes

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application).
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution.
      • Use a power supply different from ST-LINK in order to be able to connect to the target.
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply.
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked).
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution.
      • Use a power supply different from ST-LINK in order to be able to connect to the target.
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply.

Please refer to AN5347 for more details.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
Cortex-M CMSIS V5.6.0_cm33 release notes
STM32U5xx CMSIS V1.0.1 release notes
STM32U5xx HAL V1.0.1 release notes
STM32U5xx NUCLEO V1.0.1 release notes
BSP STM32U575I-EV V1.0.1 release notes
BSP B-U585I-IOT02A V1.0.1 release notes
BSP aps6408 V1.0.0 release notes
BSP Common V7.1.0 release notes
BSP cs42l51 V2.0.2 release notes
BSP hts221 V5.3.0 release notes
BSP hx8347i V2.0.2 release notes
BSP iis2mdc V1.1.0 release notes
BSP ism330dhcx V1.1.1 release notes
BSP lps22hh V1.2.0 release notes
BSP lsm6dso V1.5.1 release notes
BSP m24lr64 V1.0.1 release notes
BSP mfxstm32l152 V4.0.0 release notes
BSP mx_wifi V2.1.11 release notes
BSP mx25lm51245g V2.0.6 release notes
BSP ov5640 V3.2.1 release notes
BSP stm32wb_at V1.0.8 release notes
BSP sx8651 V1.0.0 release notes
BSP tcpp0203 V1.2.1 release notes
BSP veml6030 V1.0.0 release notes
Middlewares
Name Version Release note
STM32 TouchSensing Library V2.2.6 release notes
STM32 USBPD Core Library V4.0.0 release notes
STM32 USBPD Device Library u5_v3.0.0 release notes
mbed-crypto mbed-crypto-1.1.6 ST release notes
mcuboot V1.0.13 ST release notes
trustedfirmware tfm/v1.0.15 ST release notes
OpenBootloader V5.0.0 release notes
Network Library V2.2.0f release notes
ThreadX threadx-6.1.7.210903 release notes
NetXduo netxduo-6.1.7.210903 release notes
USBX usbx-6.1.7.210903 release notes
FileX filex-6.1.7.210903 release notes
LevelX levelx-6.1.7.210903 release notes
Utilities
Name Version Release note
Common V1.4.1 release notes
Fonts V2.0.2 release notes
GUI_INTERFACE GUI_V2.1.0 release notes
lcd V2.0.1 release notes
lpbam V1.0.1 release notes
TRACER_EMB V1.6.1 release notes

Development Toolchains and Compilers

Supported Devices and boards

  • STM32U575/STM32U585 devices
  • NUCLEO-U575ZI-Q Nucleo board rev.C
  • STM32U575I-EV Evaluation board rev.C
  • B-U585I-IOT02A Discovery board rev.C

Dependencies

  • STM32CubeMX V6.3.0
    • Projects (Examples and Applications) are generated using STM32CubeMX version V6.3.0.
  • The EMW3080B MXCHIP Wi-Fi module firmware used version is V2.1.11 and the way to update your board with it are available at x-wifi-emw3080b.
  • The BLE_AT_Client application requires to have Flash BLE_AT_Server module application using STM32CubeProgrammer: file BLE_AT_Server.hex is present in the BLE_AT_Client application under Module Binary folder.

Known Limitations

  • The ThreadX “tx_queue_create” API is not correctly used in some Azure RTOS applications leading to potential instabilities. These limitations will be fixed in future releases.
  • BSP MXCHIP: Access point mode with the TCP/IP mode on STM32 host is not functional. It works when TCP/IP runs on the EMW3080B module.
  • When using STM32CubeIDE v1.7.0 with an STM32U575-EV Evaluation board, the user should either use ST-LINK(OpenOCD) or set the SWD frequency to 1MHz or 8 MHz manually if using STLINK(GDB server).
  • Some projects are not generated with STM32CubeMX tool for the exhaustive list please refer to this table STM32CubeProjectsList.html.
  • The following projects are not supported with MDK-ARM and STM32CubeIDE toolchains:
    • FLASH_ChangeOptionBytes
    • Tx_MPU
  • Remove Audio IN functionality from B-U585I-IOT02A BSP example.
  • The SMPS regulator configuration in all projects is not supported by STM32CubeMX V6.3.0 (will be provided in next releases).

Backward Compatibility

  • LPBAM Utility : This version breaks the compatibility with previous version for DAC, LPTIM, I2C and SPI modules.

Main Changes

  • First Official Release of STM32CubeU5 Firmware Package

Contents

Projects

The STM32CubeU5 Firmware package comes with template running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains. The exhaustive list of projects is provided in this table STM32CubeProjectsList.html

This release contains almost HAL drivers, LL drivers, BSP drivers, templates, projects and examples.

Name Version Release notes
Projects V1.0.0 release notes

Notes

  • The following sequence is needed to disable TrustZone:
    • Boot from user Flash memory:
      • Make sure that secure and non-secure applications are well loaded and executed (jump done on non-secure application).
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution.
      • Use a power supply different from ST-LINK in order to be able to connect to the target.
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply.
    • Boot from RSS:
      • Make sure to apply a high level on BOOT0 pin (make sure that nSWBOOT0 Option Byte is checked).
      • If not yet done, set RDP to level 1 through STM32CubeProgrammer. Then only Hotplug connection is possible during non-secure application execution.
      • Use a power supply different from ST-LINK in order to be able to connect to the target.
      • Uncheck the TZEN box and set RDP to level 0 (option byte value 0xAA), then click on Apply.

Please refer to AN5347 for more details.

Components

The components flagged by “” have changed since the previous release. “” are new.

Drivers
Name Version Release note
Cortex-M CMSIS V5.6.0_cm33 release notes
STM32U5xx CMSIS V1.0.0 release notes
STM32U5xx HAL V1.0.0 release notes
STM32U5xx NUCLEO V1.0.0 release notes
BSP STM32U575I-EV V1.0.0 release notes
BSP B-U585I-IOT02A V1.0.0 release notes
BSP aps6408 V1.0.0 release notes
BSP Common V7.1.0 release notes
BSP cs42l51 V2.0.2 release notes
BSP hts221 V5.3.0 release notes
BSP hx8347i V2.0.2 release notes
BSP iis2mdc V1.1.0 release notes
BSP ism330dlc V1.2.0 release notes
BSP lps22hh V1.2.0 release notes
BSP lsm6dso V1.5.1 release notes
BSP m24lr64 V1.0.1 release notes
BSP mfxstm32l152 V3.0.3 release notes
BSP mx_wifi V2.1.11 release notes
BSP mx25lm51245g V2.0.6 release notes
BSP ov5640 V3.2.1 release notes
BSP stm32wb_at V1.0.6 release notes
BSP sx8651 V1.0.0 release notes
BSP tcpp0203 V1.2.1 release notes
Middlewares
Name Version Release note
STM32 TouchSensing Library V2.2.6 release notes
STM32 USBPD Core Library V4.0.0 release notes
STM32 USBPD Device Library u5_v3.0.0 release notes
mbed-crypto mbed-crypto-1.1.6 ST release notes
mcuboot V1.0.13 ST release notes
trustedfirmware tfm/v1.0.15 ST release notes
OpenBootloader V5.0.0 release notes
Network Library V2.2.0c release notes
ThreadX threadx-6.1.7.210621 release notes
NetXduo netxduo-6.1.7.210621 release notes
USBX usbx-6.1.7.210621 release notes
FileX filex-6.1.7.210621 release notes
LevelX levelx-6.1.7.210621 release notes
Utilities
Name Version Release note
Common V1.4.1 release notes
Fonts V2.0.2 release notes
GUI_INTERFACE GUI_V2.0.0 release notes
lcd V2.0.1 release notes
lpbam V1.0.0 release notes
TRACER_EMB V1.6.1 release notes

Development Toolchains and Compilers

Supported Devices and boards

  • STM32U575/STM32U585 devices
  • NUCLEO-U575ZI-Q Nucleo board rev.C
  • STM32U575I-EV Evaluation board rev.C
  • B-U585I-IOT02A Discovery board rev.C

Dependencies

  • STM32CubeMX V6.3.0
    • Projects (Examples and Applications) are generated using STM32CubeMX version V6.3.0.
  • The EMW3080B MXCHIP Wi-Fi module firmware and the way to update your board with it are available at https://www.st.com/en/development-tools/x-wifi-emw3080b.html. Before using the projects with Wi-Fi connectivity, you shall update your B-U585I-IOT02A RevC board with the EMW3080B firmware version 2.1.11. To achieve this, follow the instructions given at the above link, using the EMW3080updateV2.1.11RevC.bin flasher under the V2.1.11/SPI folder.

Known Limitations

  • BSP MXCHIP: Access point mode with the TCP/IP mode on STM32 host is not functional. It works when TCP/IP runs on the EMW3080B module.
  • When using STM32CubeIDE v1.7.0 with an STM32U575-EV Evaluation board, the user should either use ST-LINK(OpenOCD) or set the SWD frequency to 1MHz or 8 MHz manually if using STLINK(GDB server).
  • Some projects are not generated with STM32CubeMX tool for the exhaustive list please refer to this table STM32CubeProjectsList.html
  • The following projects are not provided with MDK-ARM and/or STM32CubeIDE:
    • ADF_AudioSoundDetector
    • BLE_AT_Client
    • BSP Examples
    • CRC_CalculateAndCheck
    • CRC_UserDefinedPolynomial
    • DLYB_OSPI_PSRAM_ExhaustiveTuning
    • DMA_LinkedList
    • EXTI_ToggleLedOnIT_Init
    • FLASH_ChangeOptionBytes
    • FLASH_EraseProgram_TrustZone
    • Fx_SRAM__File_Edit_Standalone
    • GPIO_IOToggle_TrustZone
    • GTZC_TZSC_MPCBB_TrustZone
    • I2C_TwoBoards_RestartAdvComIT
    • ICACHE_Memory_Remap
    • LPBAM_COMP_InputSwitch
    • LPBAM_DAC_OPAMP_ContinuousConversion
    • LPBAM_I2C_SequentialTransfer
    • LPBAM_LPGPIO_IOToggle
    • LPBAM_LPUART_TransmitReceive
    • LPBAM_SPI_FullDuplex_Simplex
    • Open Bootloader
    • OSPI_NOR_AutoPolling_DTR
    • OSPI_NOR_ReadWrite_DMA_DTR
    • OTFDEC_Data_Decrypt
    • RCC_OutputSystemClockOnMCO
    • RCC_UseHSI_PLLasSystemClock
    • RTC_TrustZone
    • SPI_OneBoard_HalfDuplex_IT_Init
    • SPI_TwoBoards_FullDuplex_IT_Master_Init
    • SPI_TwoBoards_FullDuplex_IT_Slave_Init
    • Tx_MPU
    • UART_ReceptionToIdle_CircularDMA
    • UART_TwoBoards_ComDMA
    • UART_TwoBoards_ComDMAlinkedlist
    • USART_SlaveMode
    • USART_SlaveMode_DMA
    • USBPD_SNK_UX_Device_HID_CDC_ACM
    • USBPD_SRC_Ux_Host_MSC
    • All AzureRTOS Applications are not provided with MDK-ARM

Backward Compatibility

  • Not applicable