STM32CubeIDE errata 2.0.x

1. Limitations

ID Summary
133183 Unable to debug using FreeRTOS aware with a J-LINK Ultra+ in STM32CubeIDE 1.10.1.
138771 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.
143485 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".
146043 On STM32H745 Cortex-M4 Dual Core projects the pre-defined, breakpoint is maintained but not caught upon run.
152549 From GCC11, the build can be in error with some functions:

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

It’s due to the state definition using the system information. In the main.c the following can be added to address the issue:

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

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

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

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

166245 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 = .;

171852 The implemented toolchain is allocating to an enum type only as many bytes as it needs for the declared range of possible values.
174727 STM32CubeIDE cannot make the project build automatically after having changed the IP configuration, it cannot automatically control this configuration, the user needs to increase Flash size manually when needed depending on his configuration.
189888

213181

The “connect under reset” connection mode is not supported on STM32WB05, STM32WB09, STM32WL30, STM32WL31 and STM32WL33 microcontrollers. An “hardware reset pulse” will be applied in order to connect and debug.
192219 For cortex M55 (like STM32N6), GCC12 and earlier versions detect warning using 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.
207895 When importing a project From STM32CubeMX to STM32CubeIDE while using Mac OS or Ubuntu, a pop-up message or failure can appear.
213261 For STM32WBA65I-DK, incremental flashing is not supported for external flash, flashing will be done according to the legacy mode.
221619 While debugging STM32H7S78-DK and NUCELO-H7S3L8 using openOCD, a failure can be found to read memory. This does not block debug.
221790/221794

221795/221798

221799/221803

221805/221816

221817/221820

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.
2221438 Cmake projects are not supported for MPx product.
223135 When adding a linker folder to a project in STM32CubeIDE, user needs to avoid using the path variables in the linked folder location, especially the variables "WORKSPACE_LOC" and "ECLIPSE_HOME". Otherwise, the linked folder will be deleted after an update project in STM32CubeMX side (by performing a new "Generate code" operation on the same project).

User is advised to edit the linked folder location in STM32CubeIDE by using the absolute path of the linked folder instead of using path variables, this should be done before starting a new “Generate Code” operation in STM32CubeMX side on the same project. To do this user could follow these steps:

  1. Right click on linked folder > Properties > Resource > Location > click on "Edit..." button=> a new dialog will be displayed entitled "Edit Link Location"
  2. Click on “Folder” button in this new dialog and browse on the absolute path of the linked folder then press on “OK” button=> User could verify that “Location” filed contains the absolute path of linked folder.
  3. Press on “Apply and close” to save this “Edit location” operation.

2. Fixed issues

ID Summary
169316 When building an existing project, using GCC11 or GCC12, a warning should be noticed: “elf has a LOAD segment with RWX permissions”.

This warning highlights a vulnerability, to correct it and secure the data section, we suggest to update the linker files:

From this kind of section:

.preinit_array:

{

…} >FLASH

To:

.preinit_array (READONLY):

{

…} >FLASH

But it’s incompatible with GCC10 and earlier versions.

175176 Using the generic Linux installer, the libncurses must be installed independently.
194756 Problem with project creation using STM32G411 with the 1.6.0 firmware.

Workaround: use the version 1.6.1 of the firmware.

197993 In STM32CubeIDE 1.17.0, MP2 sources are not installable following project import steps, instead all update source need to be deactivated expect OpenSTLinux source first.
198955 After importing an STM32Cube wireless applications (BLE, Thread / Zigbee, …) of the STM32WB0x or STM32WBA products using the menu “File -> Import -> Import Existing STM32CubeMX Configuration File (.ioc)”, or “File -> New -> STM32 Project from an Existing STM32CubeMX Configuration File (.ioc), users will get issues during project compilation.

3. Known issues

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

3.1. General issues

ID Summary
59435 Having a space or non-ASCII character in the project/workspace path or installation path is not fully supported.
63624 Some STM32CubeMX pop-up dialogs are not opened in front of the STM32CubeIDE workbench on all OS's.
68184 Hierarchical projects cannot be imported with the option Copy into workspace.
68440 Hierarchical projects cannot be renamed.
72498 In order to debug STM32CubeIDE Make file Project, build setting needs to be modified: right click on the imported project >properties >C/C++ Build > MCU settings > select the requested MCU and apply.
89454 Restart configuration only works for flash memory projects and not for RAM projects. Program Counter register is not set correctly. Manual work-around: In Restart configuration, manually set PC to the ResetHandler() in RAM: set $pc = 0x20000xxx.
115928 Editing live expressions while target is running does not work with SEGGER J-Link.
124062 152549 GCC-10 is more strict with respect to declaration of global variables in header files. Read the GCC-10 porting guide, so many warnings and errors result.
133183 STM32CubeIDE cannot debug using FreeRTOS aware 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

139637 Creating new STM32Cube project inside STM32CubeIDE is not possible if ioc-editor is point at STM32CubeMX stand-alone
156812 Missing string table in Build Analyzer while showing the bytes of the size of the ".rodata" section .
159507 Issues detected when updating STM32CubeIDE version from 1.9.0 to 1.13.1.
162500 After programming a device in Run mode, STM32CubeIDE opens every time a new tab with startup file and give focus on that tab.
170279 Failure to compile embOS due to missing stack variable as a new section defining _stack_start__ and __stack_end__ in linker file need to be added in linker file once it is required by ThreadX.
183033 The restore default build configuration feature lost the build commands.
199067 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.

200233 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
209826 if GCC’s fallthrough attribute are used they will be flagged as error.
213509 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.
220043 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.

220120 If user encounters some disruption during debugging, he could modify the optimization level in the “starm-clang.cmake” toolchain file (user configuration file) located under “ImportedCmakeProjectName/cmake/starm-clang.cmake”:
  • set(CMAKE_C_FLAGS_DEBUG "-Og -g3")
  • set(CMAKE_C_FLAGS_RELEASE "-Oz -g0")
  • set(CMAKE_CXX_FLAGS_DEBUG "-Og -g3")
  • set(CMAKE_CXX_FLAGS_RELEASE "-Oz -g0")
220348 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.
220942 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.
221076 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
221611 For STM32N6 family and if debug with semihosting feature is required the following needs to be added in the debug configuration startup tab in order to enable step Over and step into:

Workaround:

  • Right click on the project > debug as > debug configuration > double click on STM32 C/C++ Application > a new debug Configuration Tap will open startup > Initialization Commands >mon gdb_breakpoint_override hard
221739 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
221864 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.

3.2. STM32CubeCLT issues

ID Summary
214938 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

3.3. OS-specific issues

3.3.1. Linux®

ID Summary
175176 Using the generic Linux installer, the libncurses must be installed manually. Usage rpm_bundle.sh instead of deb_bundle.sh is recommended.

3.4. Target-specific issues

3.4.1. STM32H7

ID Summary
73552 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.
79658 ST-LINK GDB server reports being suspended on address: 0x05F0001 when debugging STM32H7 dual-core devices and the core under debug goes to sleep.
81763 OpenOCD does not support debugging STM32H7 dual-core devices when the core under debug goes to sleep.
175966 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.
206638 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.

3.4.2. STM32L0

ID Summary
201878 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.

3.4.3. STM32MP1

ID Summary
73895 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.
73896 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.
212122 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);

3.4.4. STM32N6

ID Summary
192219 GCC12 and earlier versions detect warning using 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.
208549 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.
210446 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.
208579 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.

3.4.5. STM32WB0

ID Summary
180379 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
183143 An Error seems to be found once the ThreadX Option is activated for WB05/WB07/WB09.
189888 For STM32WB0x devices the connection Under Reset type is not supported.

4. Upgrades

ID Summary
BusyBox 1.31.0.st_20240131-1810
Eclipse and CDT Eclipse 2024-09

CDT 11.6.1

GCC1 binaries 13.3.rel1.20250523-0900
JRE Adoptium® Temurin™ 21.0.8_9 and JavaFX 21.0.8
Make 4.4.1_st_20231030-1220
CMake 3.28.1
Ninja 1.11.1
OpenOCD 0.12.0+dev-00635-gddb0d32b4
RTOS Proxy 0.17.0
SEGGER J-Link V8.80
ST-LINKGDBServer 7.12.0
STLink Server 2.1.1-2
STM32CubeProgrammer 2.21.0

If you have any question or request concerning this wiki or if you see some pages with some mistake, you can report them using ST Support Center or ST Community MCU Forum.

All rights reserved (c) 2025 STMicroelectronics