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.
For the "Reset & Restart" button to work:
|
| 143485 | Post build commands are restored by using one of the following two options:
|
| 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:
|
| 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:
|
| 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:
|
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:
Work-arounds, if: Reset strategy == None (attach mode), requires Initialization commands:
|
| 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
|
| 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:
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:
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”:
|
| 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:
|
| 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:
|
| 221739 | Using Ubuntu 22.04 or MacOS 15, opening the .ioc file of the imported STM32CubeMX project might fail. In this case:
|
| 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:
|
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:
|
| 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:
|
3.4.4. STM32N6
| ID | Summary |
|---|---|
| 192219 | GCC12 and earlier versions detect warning using OFast and O3 optimizations level.
Workaround:
|
| 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:
|
| 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:
|
| 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