STM32CubeIDE errata 2.2.x

1. Warning

STM32CubeIDE uses gdbserver to connect to the target. Be aware that gdbserver does not have any built-in security. Do not run gdbserver connected to any public network. A GDB connection to gdbserver provides access to the target system with the same privileges as the user running gdbserver.

2. Limitations

ID Summary
TIDEC1-3618 To start debugging in the NS zone when the product status is TZ-Closed for the STM32H5 using ST-Link GDBServer, add the following script to "Run Commands" in the debugging configuration.

set breakpoint always-inserted on

tbreak Reset_Handler

monitor reset

set breakpoint always-inserted off

si

For the "Reset & Restart" button to work:
  • Add the same script.
  • Select "None" as the type.
TIDEC1-3756 Post-build commands are restored by using one of the following two options:
  • Restore the post-build command by applying a code generation.
  • Change the default behavior of the command "restore Defaults".
TIDEC1-3805 On STM32H745 Cortex-M4 dual-core projects, the predefined breakpoint is maintained but not caught upon run.
TIDEC1-3929 From GCC11, the build can be in error with some functions:

_close, fstat, _getpid, _isatty, _kill, _lseek, _open, _read, _write, _gettimeofday

This is due to the state definition using the system information. In main.c, add the following to address the issue:

__attribute__((weak)) void _close(void) {}

__attribute__((weak)) void _lseek(void) {}

__attribute__((weak)) void _read(void) {}

__attribute__((weak)) void _write(void) {}

TIDEC1-4297 When using the STM32CubeMP13 bare-metal firmware and activating Azure® RTOS ThreadX, the STM32CubeIDE linker file must contain the following section to avoid compilation issues:

.stack  :

{

_stack_bottom = ABSOLUTE(.);

/* Allocate room for stack. This must be big enough for the IRQ, FIQ, and SYS stack if nested interrupts are enabled.*/

. = ALIGN(8);

. += 32768;

_sp = . - 16;

_stack_top = ABSOLUTE(.);

} >RAM

_end = .;

TIDEC1-4465 The implemented toolchain allocates to an enum type only as many bytes as needed for the declared range of possible values.
TIDEC1-4585 STM32CubeIDE cannot build the project automatically after changing the IP configuration. It cannot automatically control this configuration. The user must increase flash memory size manually when needed, depending on the configuration.
TIDEC1-5161

TIDEC1-5973

The "connect under reset" connection mode is not supported on STM32WB05, STM32WB09, STM32WL30, STM32WL31, and STM32WL33 microcontrollers. A hardware reset pulse is applied to connect and debug.
TIDEC1-5220 For Cortex-M55 (like STM32N6), GCC12 and earlier versions detect warnings using when OFast and O3 optimizations level.

Workaround:

  • Install and build with GCC13 available through update site mechanism.
  • Compile without MVE extension, which can be done by passing argument "-mcpu=cortex-m55+nomve", in Settings > GCC compiler > Miscellaneous.
TIDEC1-5757 When importing a project from STM32CubeMX to STM32CubeIDE while using macOS or Ubuntu, a pop-up message or failure can appear.
TIDEC1-5975 For STM32WBA65I-DK, incremental flashing is not supported for external flash. Flashing is performed according to the legacy mode.
TIDEC1-6327 While debugging STM32H7S78-DK and NUCLEO-H7S3L8 using OpenOCD, a failure can occur when reading memory. This does not block debugging.
TIDEC1-6338

TIDEC1-6339

TIDEC1-6341

TIDEC1-6344

TIDEC1-6347

If GCC14 is used as the toolchain within STM32CubeIDE, some examples might have errors and warnings in compilation for the following families: STM32G0, STM32H5, STM32H7/H7RS, STM32N6, STM32WB/WB0, STM32WBA, STM32WL/WL3. To work around these errors GCC13 should be set as a default toolchain:
  • Go to Window > preferences > STM32Cube > Toolchain manager
  • Once all GCC are listed, select GCC13.3.rel1 then click on install button the follow the update site installation steps
TIDEC1-6311 For CMake projects, changing the generator from one build system to another may require a Clean Project before rebuilding. Without a clean, the build may fail unexpectedly.
TIDEC1-6318 Cmake projects are not supported for MPx product.
TIDEC1-6658 STM32CubeIDE allows users to add prebuild and postbuild commands or scripts. Some commands, such as wget, are provided by BusyBox and might have limitations. Use only controlled and safe URLs and files in the commands that the scripts use.
TIDEC1-6733 For Cortex-M0, M0+, M33, and M55, core reset mode is not supported in STM32CubeIDE debug configuration.

3. Fixed issues

ID Summary
TIDEC1-1409 The Debug Button is now properly disabled when the Root project or its folders are selected, preventing unsupported debug launch attempts from this selection.
TIDEC1-4630 CMake project generated by STM32CubeMX builds with warnings in STM32CubeIDE. These warnings are now addressed.
TIDEC1-5432 The Refresh menu entry was missing when right-clicking a subproject resource in the Project Explorer. It is now available as expected after the Eclipse update.
TIDEC1-5858 Fixed oversized .bin generation by adding NOLOAD to RW_NONCACHEABLE sections in H7RS linker scripts.
TIDEC1-6516 Fixed missing text-selection highlighting in STM32CubeIDE on macOS Tahoe 26.2 for Apple Silicon.
TIDEC1-6727 Fixed incorrect floating-point printf output with ST Arm Clang by updating to version 21.1.1+st.7.
TIDEC1-6740 Fixed RTOS debugging so the call stack now displays all started threads, not just the active one.
TIDEC1-6908 Fixed STM32L1 target definitions so RAM and FLASH sizes are now correct for affected devices.
TIDEC1-6933 Fixed STM32F7 SVD definitions, including DFSDM and RCC register descriptions, to match the reference manual.

4. Known issues

The known issues are split into general, STM32CubeCLT, OS-specific, and target-specific issues.

4.1. General issues

ID Summary
TIDEC1-353 Having a space or a non-ASCII character in the project or workspace path, or installation path, is not fully supported
TIDEC1-846 Hierarchical projects cannot be imported with the option Copy into workspace.
TIDEC1-866 Hierarchical projects cannot be renamed.
TIDEC1-1081 To debug an STM32CubeIDE Make file Project, modify the build settings: right click on the imported project >properties >C/C++ Build > MCU settings > select the requested MCU and apply.
TIDEC1-2004 Restart configuration works only for flash memory projects, not for RAM projects. The program counter register is not set correctly. Manual workaround: In Restart configuration, manually set the program counter to the ResetHandler() in RAM: set $pc = 0x20000xxx.
TIDEC1-3120 Editing live expressions while target is running does not work with SEGGER J-Link.
TIDEC1-3120

TIDEC1-3929

GCC-10 is stricter regarding the declaration of global variables in header files. Read the GCC-10 porting guide; many warnings and errors result.
TIDEC1-3483 STM32CubeIDE cannot debug using FreeRTOS-aware debugging with J-LINK.

Work-arounds, if: Reset strategy == Connect under reset, requires Initialization commands:

info threads

info threads

thread 2

Work-arounds, if: Reset strategy == None (attach mode), requires Initialization commands:

info threads

info threads

thread 2

stepi

TIDEC1-4051 Missing string table in Build Analyzer when displaying the byte size of the .rodata section.
TIDEC1-4094 Issues detected when updating STM32CubeIDE version from 1.9.0 to 1.13.1.

It is recommended to reinstall from scratch use the 1.13.1 version and use the old workspace.

TIDEC1-4175 After programming a device in Run mode, STM32CubeIDE opens a new tab with the startup file and gives focus to that tab every time.
TIDEC1-4420 Failure to compile embOS due to missing stack variable. A new section defining _stack_start__ and __stack_end__ must be added to the linker file when required by ThreadX.
TIDEC1-4883 The restore default build configuration feature removes the build commands.
TIDEC1-5170 When exporting a project, already imported, built and exported as Zip file, into different workspace, an error will occur while building it. The following workaround can be applied:
  • "Import -> Projects from Folder or Archive".
TIDEC1-5194 The Reset chip and restart debug session button does not work as expected when debugging with STM32CubeIDE the Nucleo-N657X0-Q board. It should reset the debug stack to the main function. Issue can be avoided by adding the "load" command in "Additional commands" in Restart configurations.
TIDEC1-5405 In STM32CubeIDE 1.17.0,  Hex files are not generated, setting a post build command:

arm-none-eabi-objcopy -O ihex "project_name.elf" "project_name.hex" is required.

TIDEC1-5441 Compilation error when using toolchain GCC 12.3 with STM32CubeIDE 1.14.1.

As Workaround, GCC12 can be downloaded and load it from local by setting the toolchain

  • Name: GCC12
  • Prefix: arm-none-eabi-
  • Location: C:\ST\STM32CubeIDE_XXX\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_xxx\tools\bin
TIDEC1-5853 if GCC’s fallthrough attribute are used they will be flagged as error.
TIDEC1-6000 If a file is added by the user named main.c it would generate a build fail in the project. Such file naming should be avoided and replaced with mainUser.c for example.
TIDEC1-6256 To be able to display data in “Static Stack Analyser” view for Cmake projects (with GCC or starm-clang), the user needs to add the compilation flags “-fstack-usage” in the toolchain file located under:
  • For GCC: ImportedCmakeProjectName/cmake/gcc-arm-none-eabi.cmake
  • For starm-clang: ImportedCmakeProjectName/cmake/starm-clang.cmake

Example: set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fdata-sections -fstack-usage -ffunction-sections")

To be able to display data in “Cyclomatic Complexity” view for Cmake projects with GCC toolchain, the user needs to add the compilation flags “-fcyclomatic-complexity”in the toolchain file located under:

  • For GCC: ImportedCmakeProjectName/cmake/gcc-arm-none-eabi.cmake

Example: set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fdata-sections -fstack-usage -fcyclomatic-complexity -ffunction-sections")

As for Cyclomatic Complexity view is not working for now for CMake with starm-clang toolchain because the flag “-fcyclomatic-complexity” is not yet recognized by st-arm clang.

TIDEC1-6267 Debug is not possible with "Release" build type CMAKE_BUILD_TYPE=Release since the 'Release' mode is defined as '-Oz' in starm-clang.cmake using the LLVM Toolchain. In this case the release flag needs to be updated in the toolchain file.
TIDEC1-6293 When importing an existing Cmake project with multicontext, the build operation will output all elf files (Secure, non-secure, other contexts...), so when starting a debug session on the root project (including all contexts), the user should select what elf file to debug (what is the project, secure or not secure or other because STM32CubeIDE cannot decide what is the application that user wants to debug.
TIDEC1-6295 If GCC 14 toolchain is used, the startup assembly file may not be well formed, a quick fix is to declare symbols LoopCopyDataInit and LoopFillZerobss as functions.

Workaround:

  • .type LoopCopyDataInit, %function
  • .type LoopFillZerobss, %function
TIDEC1-6311 After Importing project generated by STM32CubeMX [Using U385 TZ=1] in STM32CubeIDE and building it using UnixMakefiles, the build might finish unexpectedly if the following change is implemented: change Ninja" as the generator --> CMake Configure --> Delete and Reconfigure.
TIDEC1-6335 Using Ubuntu 22.04 or MacOS 15, opening the .ioc file of the imported STM32CubeMX project might fail. In this case:
  • The default editor for .ioc needs to be defined:
  • Window > Preferences > General > Editors > File Associations, Add *.ioc and define STM32CubeMX as default editor or the ioc > Open with ... > Other >External Programs > Browse ... > select the STM32CubeMX > check the checkbox "Use it for all *.ioc files" if the same MX version could be used to open all ioc
TIDEC1-6351 While using LLVM as toolchain, Static stack analyser view may not have any output unless "-fstack-usage" in compliation flags is added manually in toolchain file.

For Cyclomatic view and while using Cmake +GCC, the flag "-fcyclomatic-complexity" in the compilation flags needs to be added in GCC toolchain file. Cyclomatic view however is not supported while using LLVM.

TIDEC1-6907 When a debug session is firstly started in STM32CubeIDE 2.1.1 after a fresh installation on macOS 15 or a later version, a pop-up window may appear with this message "stlink-server" is an app downloaded from internet, do you want to Open it?", it is advised to click on "Open" button to allow debug operation to work as expected.
TIDEC1-6909 When CubeIDE 2.1.1 is firstly launched after a fresh installation on macOS 15 or a later version, a pop-up window may appear asking to allow STM32CubeIDE to scan for devices on local networks.Click the ‘Allow’ button when this dialogue box appears, as STM32CubeIDE needs to establish a TCP connection and will interact with connected boards during debugging operations.
TIDEC1-6960 SWV output may not appear in STM32CubeIDE for some CMake projects generated by STM32CubeMX / STM32CubeMX2.Manually set the core clock in the STM32CubeIDE debug configuration to the initial clock value used by the STM32CubeMX project.
TIDEC1-7059 Updating STM32CubeIDE from an older version may fail when the STM32CubeIDE is installed under a system path such as /opt/st/ and the update is launched without the required administrator/sudo permissions or proper file access rights.
TIDEC1-7121 For STM32U3 microcontrollers with 256 Kbytes of flash memory, debug Via ST-Link GDB server is not available yet, debug can successfully be executed using OpenOCD probe.
TIDEC1-7144 Flashing/debugging STM32CubeWL3 v1.5.0 applications, including the wMBus example on STM32WL33CC targets, with STM32CubeIDE v2.1.1 or later may fail due to OpenOCD-related connection errors.Flashing/debugging however, is successful using ST-Link GDB server.

4.2. STM32CubeCLT issues

ID Summary
TIDEC1-6104 For MacOs install, no paths for "CLANG_GCC_CMSIS_COMPILER" and GCC_TOOLCHAIN_ROOT.

Workaround:

  • Open terminal
  • Then source the file /etc/profile
  • Then re do the echo command on these two variables but we must use the same terminal

4.3. Target-specific issues

4.3.1. STM32H7

ID Summary
TIDEC1-1160 Serial Wire Viewer configuration is not reset for STM32H7 devices on the next launch if it was terminated with record active when using ST-LINK GDB server.
TIDEC1-1484 ST-LINK GDB server reports being suspended on address: 0x05F0001 when debugging STM32H7 dual-core devices and the core under debug goes to sleep.
TIDEC1-1596 OpenOCD does not support debugging STM32H7 dual-core devices when the core under debug goes to sleep.
TIDEC1-4615 For H7RS project on Ubuntu with ExtMemLoader context configured, Postbuild commands cannot be passed successfully when STM32CubeIDE is installed with sudo.

Workarounds:

  • Installing STM32CubeIDE on Ubuntu but without sudo. (add execute permission to the installer then install it without sudo permissions).
  • If STM32CubeIDE was installed with sudo permission, postbuild command needs to be performed manually by passing the sudo permission first in command line.
TIDEC1-5713 While using GCC13 in STM32CubeIDE 1.17.0 or 1.18.0, errors or warnings can be encountered while importing some projects. GCC12 usage is recommended in this scenario.
TIDEC1-6274 Debugging code running from external flash on STM32H7S78-DK may fail when using software breakpoints, causing “too many breakpoints” errors. Workaround: set the breakpoint type to hardware manually, or ensure the target is initialized in memory-mapped mode before debugging.

4.3.2. STM32L0

ID Summary
TIDEC1-5487 Errors will appear when building the imported project ADC_DMA_Transfer for NUCLEO-L010RB.

Workaround:

syscall.c file needs to be added to the project.

4.3.3. STM32MP1

ID Summary
TIDEC1-1187 Debugging in production mode requires a network connection. If STM32CubeIDE is configured to use a network proxy, then the IP address of the STM32MP1 board needs to be added to the "Proxy bypass" list.
TIDEC1-1188 The synchronization check between the IP-address entered in launch configuration and the IP-address of the target does not abort the launch in case of mismatch.
TIDEC1-5941 For STM32MP135F-DK (Bare Metal) and while enabling FreeRTOS CMSIS_V2 and to avoid build errors, the RAM alias to DDR_BASE region needs to be assigned.

Workaround:

  • Open linker file STM32MP135FAFX_RAM.ld
  • Assign the RAM alias to DDR_BASE region by editing this line:REGION_ALIAS("RAM", SYSRAM_BASE); ==To ==> REGION_ALIAS("RAM", DDR_BASE);

4.3.4. STM32N6

ID Summary
TIDEC1-5220 GCC12 and earlier versions detect warning using OFast and O3 optimizations level.

Workaround:

  • Use the default compiler (GCC14) or install GCC13 available through update site mechanism.
  • Compile without MVE extension, which can be done by passing argument "-mcpu=cortex-m55+nomve", in Settings > GCC compiler > Miscellaneous.
TIDEC1-5776 If we use the “XSPI_PSRAM_MemoryMapped” example or any similar application, data stored in the external memory could not be viewed by the memory view in STM32CubeIDE.
TIDEC1-5778 In order to read data stored in external memory map mode for STM32N6 family, memory view can be used with Hex rendering: in memory view, check the three dots then Table rendering preferences then switch from Automatic to Manual.
TIDEC1-5864 If the Application context contains any break point even if it is disabled, the debug session will not start.

Workaround:

  • Any break point needs to be added while debugging and after the execution of this instruction “retr = MapMemory();
  • This is why we set the breakpoint at JumpToApplication instead of main in the startup configuration.

4.3.5. STM32WB0

ID Summary
TIDEC1-4786 A false error could be detected on some BLE applications when is included some binary libraries.

The error should be: “missing .note.GNU-stack section implies executable stack” or “NOTE: This behaviour is deprecated and will be removed in a future version of the linker”

Workaround:

  • Use the linker option: -z noexecstack
  • More information: https://lists.gnu.org/archive/html/info-gnu/2022-08/msg00002.html
TIDEC1-4887 An Error seems to be found once the ThreadX Option is activated for WB05/WB07/WB09.
TIDEC1-5161 For STM32WB0x devices the connection Under Reset type is not supported.

5. Upgrades

ID Summary
BusyBox 1.31.0.st_20240131-1810
Eclipse and CDT Eclipse 2025-12 and CDT 12.3.0
GCC binaries 14.3.rel1.20251027-0700
JRE Adoptium® Temurin™ 21.0.10+7 and JavaFX 21.0.10
Make 4.4.1_st_20260330-0700
CMake 4.3.1
Ninja 1.13.2
OpenOCD 0.12.0+dev-00664-g72f14cee6
RTOS Proxy 0.18.0
SEGGER J-Link 9.42
STARM-Clang 21.1.1 [rel2.20260323-1806]
ST-LINKGDBServer 7.14.0
STLink Server 2.1.2-2 (for MacOS installations)

2.1.1-2 (for others OS)

STM32CubeProgrammer 2.23.0

If you have any questions or requests concerning this wiki, or if you see any pages with mistakes, report them using ST Support Center or ST Community MCU Forum.

All rights reserved © 2026 STMicroelectronics