STM32CubeProgrammer errata 2.23.x

1. STM32CubeProgrammer errata 2.23.x

2. Main fixed issues for 2.23.0

ID Summary
8985 Incorrect STM32_PRG_PATH using macOS ARM installer
8844 Need latest STM32WB_FUS_Operator V3.1.1 in CubeProg
86 Programming error, timeout modification seems not working. DFU timeout
9269 [DATABASE]STM32CubeProgrammer 2.22 GUI option byte page can't display for STM32F767BG
8910 [G0] Unable to change NRST_MODE on stm32g031j6m6
8967 [L4] OTP programming wrong granularity
8896 [Multi Language] Memory leak in Chinese and Japanese languages causing a crash
101 [N6]Wrong OTP19 BOOTROM_CONFIG_10 bitfield visualization
9022 [OB Factory reset]STM32U585 bricked after using factory reset operation if BOOT_LOCK 1
8746 [STM32CubeProgrammer] Fails to Execute --power off/on in STM32_Programmer_CLI
8874 [Signing Tool] Header Version not Accepted with PKCS#11 API
8979 [TPC] Unable to load HSM_P11_Lib.dll
90 unable to connect to G5 device with an stlinkV2

3. Known problems and limitations

  • Integrity check:
    • STM32H7 microcontrollers: support integrity check for SFI:
      • Only the devices with a bootloader version higher than 0x91 are supported.
      • STM32CubeProgrammer does not support the devices with older bootloader versions. Users must use STM32CubeProgrammer v2.9.0 to use devices with old bootloader versions.
    • STM32H73xxx microcontrollers: support integrity check for SFI/SFIx:
      • Only the devices with a bootloader version higher than 0x93 are supported.
      • STM32CubeProgrammer does not support the devices with older bootloader versions. Users must use STM32CubeProgrammer v2.9.0 to use devices with old bootloader versions.
    • STM32H7Bxxx microcontrollers: support integrity check for SFI/SFIx:
      • Only the devices with a bootloader version equal to or higher than 0x92 are supported.
      • STM32CubeProgrammer does not support the devices with older bootloader versions. Users must use STM32CubeProgrammer v2.9.0 to use devices with old bootloader versions.
  • SFIx fails when programming:
    • Large flash memory content on Linux® via the UART interface.
    • Small flash memory content on supported bootloader interfaces with all platforms.
  • USB interoperability issue on macOS® due to ST-LINK limitation.
  • STM32H7 microcontrollers:
    • STM32CubeProgrammer does not support SFI.
    • STM32H7Axxx/Bxxx microcontrollers: Download verification issue with OTP.
  • STM32H7Rx/7Sx microcontrollers:
    • Erasing the external flash memory is not supported using IWDG.
    • GUI: the external memory edition is not supported via USB and UART while connected to the OpenBootloader.
    • Option bytes are not supported via OpenBootloader interfaces.
  • STM32L0 microcontrollers:
    • Register access mode incorrectly displayed for register viewer.
  • STM32L4R5xx microcontrollers:
    • Issues occur when erasing sectors in bank 2 memory with the UART interface.
  • STM32U3 microcontrollers:
    • Limited support via JTAG (functional only with mode = normal and reset = HWrst).
    • STM32U3C5/STM32U3B5: Unable to program binary or change OB when IWDG_SW=0
    • STM32U335/STM32U345: The programming operation fails when Swap_Bank is enabled.
  • STM32U5 microcontrollers:
    • Unable to read the chip ID via J-Link when RDP is set to Level 2.
    • OTP memory programming failure with CLI when TZEN is enabled.
    • STM32U535/545 microcontrollers: SFIx is not supported.
    • STM32U59xxx microcontrollers: SFIx only supports the area E installation with OTFDEC region 1 (region 0 on TPC).
    • STM32U5Fxxx and STM32U5Gxxx microcontrollers: Unable to program SFIx via SPI/I2C on GUI.
    • STM32U575/STM32U585 microcontrollers: For CPNs with flash Size 1M, failed to erase using Erase selected sectors when SWAP_BANK is enabled.
    • STM32U535/STM32U545 microcontrollers: for flash Size 256K For CPNs with flash size 2M, failed to erase using Erase selected sectors when SWAP_BANK is enabled with the UART interface.
  • STM32L43 and STM32L45 microcontrollers:
    • Failed to erase a part of the last sector using the GUI with the SWD interface.
  • STM32WBA microcontrollers:
    • OpenBootloader via SPI: cannot connect to STM32CubeProgrammer when the baud rate is below 3000 Bd.
    • “Connect Under Reset” is not working when called by STM32CubeIDE.
  • STM32WBA2 microcontrollers:
    • Erase operation failed when the External loader is selected. Note: Deselect the external flash to be able to perform the erase operation
  • USB interoperability issue on macOS due to STLINK limitation
  • Unable to read the Chip ID of the STM32U5 via JLINK when RDP is set to Level 2.
  • STM32H74x/5x/7x: When connecting the target via JLINK, the BCM4 option byte is removed from STM32CubeProgrammer if it has been disabled.
  • STM32WL33 microcontrollers:
    • Failed to connect with Hotplug mode on CLI.
    • STM32CubeProgrammer fails to program RDP=0xABACABAD on WL33.
  • STM32L5 microcontrollers:
    • Unable to read, write, or erase the external flash memory when TZEN is enabled.
    • SFI programming failed via UART on Linux.
  • STM3V8 microcontroller:
    • Erase NVM High Cycle data not working, a workaround is to write 0xFFFFFFFF in the register.
  • Incremental programming:
    • Is not supported when TrustZone is enabled, the tool switches automatically to normal programming procedure.
    • Is an experimental feature with limited test coverage:
      • For Internal Flash programming, tested devices are: STM32C03x, STM32C05x, STM32C09x, STM32F101/F102/F103, STM32F37xx, STM32F411xC/E, STM32F72x/STM32F73x, STM32F76x/STM32F77x, STM32G03x/STM32G04x, STM32G0B0xx/B1xx/C1xx, STM32G491xx, STM32H50x, STM32H533/523, STM32H56x/573, STM32H72x/STM32H73x, STM32H7R/Sxx, STM32L05x/L06x/L010, STM32L4Pxxx/STM32L4Qxxx, STM32L4x1/STM32L475xx/STM32L476xx/STM32L486xx, STM32L5xx, STM32U0xx, STM32U3xx, STM32U535/STM32U545, STM32U575/STM32U585, STM32U59x/5Ax, STM32WB5x/35xx, STM32WBA52/54/55, STM32WBA6x, STM32WLxx
      • For external flash programming, tested boards are: STM32H735G-DK, STM32H7S78-DK, STM32H573I-DK, STM32U575I-EV, STM32WBA65I-DK1.
  • The automatic mode doesn't work with UART interface when using an STLink with Dual VCP, the STLink configuration must be changed to single VCP.
  • In windows 10 32 bits: STM32TrustedPackageCreator display can be cut when maximizing the window.
  • OBkey provisioning with JLINK is not supported, currently the CLI says it clearly, but the GUI message doesn't.
  • SWD multidrop:
    • Connection fails on U0 and WL dual core.
    • The user must set targetsel to 0xxxxxxx instead of 0x0xxxxxx.
    • There is an instability when programming in “under_reset” mode, it's recommended to use "Normal" mode.
    • SFI not working.
  • Memory map export supports a maximum of 9 segments.
  • SWV feature is provided as a beta functionality for devices V8 and C5. It is not fully validated.
  • MCU factory reset is supported only via ST-Link.
  • RDP regression with password is supported only via ST-Link.
  • SFI feature:
    • For the full list of supported devices, please refer to AN4992.
    • Parallel SFI Programming with Shared HSM is not supported.
  • Starting from STM32CubeProgrammer v2.21.0 "-align" option using STM32_SigningTool_CLI is mandatory with STM32N6.
  • Write and erase operations using an external flash with a start address @0x00000000 is not supported.
  • Flash high cycle:
    • Programming is not supported at secure addresses.
    • A mass erase is required before programming the full flash high cycle area (bank1 + bank2)”,.
  • The OTP memory programming is not supported when TZEN is enabled for CM33 SoCs.
  • Display issues occur on Fedora when the system display scale is set to 125%; the recommended scale is 100%.
  • Any file path provided as an input argument to the STM32CubeProgrammer CLI that contains spaces must be enclosed in quotation marks.