Ask questions on STM32CubeIDE. Discuss how to build, debug, configure, and optimize your project as well as how to use our software tools.
Most recent activity
An issue has been identified in STM32CubeIDE 1.19.0 and earlier versions where a download error pop-up may appear during data updates. This issue does not prevent STM32CubeIDE from functioning properly. To continue: click OK twice. STM32CubeIDE should then operate normally. Optional workaround If this pop-up impacts your workflow, you can disable the Auto-Refresh feature: Go to Window → Preferences In the search field, type Firmware Updater Select: Offline Mode No Auto-Refresh at Application start Notes If Auto-Refresh is disabled, STM32CubeIDE will use the local cube-finder-db.zip file and will not automatically retrieve updates. Manual update If needed, you can manually update the data via: Help → STM32Cube Updates → Check for Target Selector Device Database Updates
We are pleased to announce that STM32CubeCLT 1.22.0 release is now available What is new in 1.22.0: Updated to align with STM32CubeIDE v2.2.0 Updated STM32CubeProgrammer to version 2.23.0 Updated ST-LINK GDB server to version 7.14.0 Updated JRE™ to version 21.0.10+7 Updated STARM-Clang to version 21.1.1+st.7 Updated Ninja to version 1.13.2 Updated CMake to version 4.3.1 Added support for make 4.4.1_st_20260330-0700 Main fixed issues in 1.22.0:Refer to the following Link here Know problems and limitations in 1.22.0: Refer to the following Link here How to get STM32CubeCLT 1.22.0: Download STM32CubeCLT 1.22.0 from here
We are pleased to announce that STM32CubeIDE 2.2.0 release is now available. What is new in 2.2.0: Added support for: STM32H5 microprocessors to the STM32H5 series STM3U3 series microprocessors to the STM32U3 series STM32V8 series Added support for new boards: NUCLEO-H553ZG NUCLEO-U345RC-Q, NUCLEO-U366RE-Q, STM32U366E-DK NUCLEO-V873XJ, and STM32V873J-DK Updated the target Platform to Eclipse 2025-12 and CDT™ 12.3.0 Added Multidrop support for debugging: STLINK-GDB server OpenOCD Segger J-Link Updated CMake to version 4.3.1 STARM-CLANG to version 21.1.1+st.7 Added support for OpenSTLinux 6.2.1 CMake static library template Ubuntu 26.04 and Fedora 44 Dependencies versions updates: Eclipse® 2025-12 and CDT™ version 12.3.0 Bundled JRE™: Adoptium® Temurin® 21.0.10+7 with JavaFX 21.0.10 ST-LINK GDB Server 7.14.0 supporting ST-LINK/V2 and STLINK-V3 SEGGER J-Link GDB Server V9.42 STM32CubeProgrammer v2.23.0 Open On-Chip Debugg
Hello everyone.I'm creating a TouchGFX project for a custom PCB with an STM32H7R7I8T6. After initial compilation issues, I unchecked the "Generate Under Root" option in the project manager and managed to compile the empty project and upload it to the MCU. Now I want to add a driver for the GT911 touch panel. I add one file, gt911.h, to the "Appli/Core/Inc" location, and it's visible, but the gt911.c file in the "Appli/Core/Src" location isn't visible to the project. This is my first time using this project organization and I can't figure it out.Please help.
I am having an issue with .ioc file association on macOS when using STM32CubeIDE 2.2 together with the standalone STM32CubeMX.The .ioc file does not seem to be properly registered with macOS.For example, in Finder, .ioc files are shown as unknown files rather than as STM32CubeMX project files.More importantly, when I open an .ioc file from STM32CubeIDE, STM32CubeMX is launched, but it stays on the welcome screen instead of opening the selected .ioc project.The behavior is roughly:STM32CubeIDE ↓STM32CubeMX launches ↓CubeMX stays on the welcome screen ↓project.ioc is not opened I've made some checks. macOS does not appear to assign a normal, application-specific UTI to the .ioc file.For example:mdls -name kMDItemContentType -name kMDItemContentTypeTree project.iocreturns:kMDItemContentType = "dyn.ah62d4rv4ge80w55d"kMDItemContentTypeTree = ( "public.item", "dyn.ah62d4rv4ge80w55d", "public.data")I also checked the application bundle:plutil -p /Applications/STM32
When building in STM32CubeIDE 2.1.1, and targeting an STM32F303K8,Project properties C/C++ Build Settings MCU GCC Compiler Miscellaneous Near the bottom, observe a checkbox for -mtune=cortex-a35.This option really does have effect in the gcc command line, and that really does significantly alter the compiled machine code.But… why is this allowed in the UI? Why would this tuning option appear specifically for the A35, when the STM32F303K8 is an M4? By default, the makefile does correctly add -mcpu=cortex-m4.
I’ve been using STM32CubeIDE, STM32CubeMX, STM32CubeProgrammer, and STM32CubeMonitor on a Mac currently running macOS 26.6.When I run env or export in Terminal (which uses Zsh by default), I find these two STM32-related environment variables.STM32CubeMX_PATH=/Applications/STM32CubeMX.app/Contents/ResourcesSTM32_PRG_PATH=/Applications/STM32CubeProgrammer/STM32CubeProgrammer.app/Contents/Resources/binExamined Zsh dotfiles in my home folder and found the following two *export*s in ~/.zshrc that set them.export STM32CubeMX_PATH=/Applications/STM32CubeMX.app/Contents/Resourcesexport STM32_PRG_PATH=/Applications/STM32CubeProgrammer/STM32CubeProgrammer.app/Contents/Resources/binWhich apps have added these; CubeMX, CubeProg, or perhaps the respective plugins from CubeIDE? What is their intended purpose, and in particular, which other STM32Cube tools rely on them? Also, do the apps add these every time on launch or only once during installation?
I made a project using CubeMX and imported it to CubeIDE. When I clicked Run → Debug, following message appeared, “The selection cannot be launched, and there are no recent launches.” I used CubeIDE version 1 before, and I could debug a program. What is wrong?
I'm using a Macbook Air M5. I downloaded the STM32CubeIDE 2.2.0 macOS (Apple Native) version to my computer. After importing my projects, I tried to debug. It connects to the ST-Link and performs the necessary operations. Then, when debugging is ready, I start the debug and get this error: GdbSession, Lost target connection, Exiting... GdbSession, Lost target connection, Exiting... I checked the permissions on my Mac and updated the STM Link version. Also, when I install the Mac (Apple Native) version of STM32CubeProgrammer, I can program the same board using the ST-Link. The port is visible. And interestingly, when I open the same project on my Windows computer, I can debug it without any problems using the same ST-Link.Any advice on how to resolve this issue so I can debug directly from STM32CubeIDE would be greatly appreciated!Thanks in advance for your help.Best regards,
Hello,I am currently working on an AI project on the STM32N6570-DK using STM32Cube AI Studio and STM32CubeIDE.I followed the official STM32N6 AI deployment tutorial and generated both projects:FSBL AppliThe AI files generated by STM32Cube AI Studio were copied into the project and the project builds successfully without errors.The application is downloaded correctly to the board and the verification step is successful. However, when the debugger tries to start the execution, the target immediately stops responding.The console shows:Download verified successfullyError in executing 'cont' commandTarget is not responding, retrying...I also get a message indicating a break at an address outside of the application code.At this point I am not sure if:the application is entering a HardFault very early during startup, there is an issue with the FSBL configuration, there is a problem with the linker script or the AI memory sections, or if I missed a configuration step in the STM32N6 deployment
I am following these steps :- Create STM32 ProjectFile → New → STM32 ProjectSelect STM32L476RGTx (LQFP64) MCU/board → Next → FinishOpen the .ioc fileConfigure LED1In Pinout & Configuration, Set PA2 to GPIO_Output, then click on project → generate code ( The ‘main.c’ file is not generate for given MCU and also for other MCU for similar steps code is not generating).
Hi ST Community,I’m working with an STM32N6 project and I am facing a build issue after generating a project with STM32CubeMX.The project generates successfully and the driver folder is present, but when I open it in STM32CubeIDE and build, I get many linker errors related to missing HAL functions.I checked the STM32N6xx HAL driver folder, and I do not see the HAL source files It looks like the generated CubeIDE project is not adding the HAL driver files into the build.My setup:STM32CubeIDE: 2.2.0 STM32CubeMx: 6.18.0Can you please advise if there is any additional setting required to avoid this issue ? or if this is a CubeMX generation issue?
Hi, I got a black pill. It says everywhere that to enter DFU mode, you have to keep pressing BOOT0, then press and release RST, then release BOOT0. But every time I do this, Cube IDE says ST-Link is not in the DFU mode, please restart it.
Does anyone have experience with integrating hierarchical state machines (C-code) with a STM32CubeIDE project?For example, the QP/C software by Quantum Leaps generates state machine C-code based on a graphical modeling tool. If the state machine diagram changes the C-code is re-generated: https://www.state-machine.com/qpc/index.htmlHow can this capability be integrated with the STM32CubeIDE?In particular, if the state machine code is updated, how is the project source updated?Also, if the STM32CubeMX files (.ioc) is updated and the project source is re-generated, how can the state machine code be protected? (I assume the IDE's USER CODE section can be used for that...)Any feedback will be appreciated. Thank you!
Hi all,I know there is a newer version of this (v2.2) but I'm still on the old one. I can click the ok button on the "Download has failed, some data may be not updated. Please retry later" window and the target selector shows up but the project I make (TestH7A3VIT6) for STM32H7A3VIT6 has an exclamation point on a triangle in it.BTW I'm using this in my windows 11 laptop and there is no crdb.zip in the repository folder.So is STM32CubeIDE 1.19.0 too old and not supported anymore? I'm trying to avoid some of the early bugs in STM32CubeIDE v 2.x.Thanks
I had created a Project using STM32Cube MX/IDE (versions 6.17 and 2.1.1 respectively)in which I had set up the SWV ITM Console as the output of printf().This was working as expectedThen, I moved the same project to a new machine under STM32Cube MX/IDE (versions 6.18 and 2.20 respectively)When I’m debugging with my new machine, the SWV ITM Console gets no visible output.I was able to confirm (with breakpoints) that the function ITM_SendChar() *is* getting called as expected.However, referring to the source code below: __STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch){ if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */ ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */ { while (ITM->PORT[0U].u32 == 0UL) { __NOP(); } ITM->PORT[0U].u8 = (uint8_t)ch; } return (ch);}...the breakpoints show that the “if()” statement at the start is failing,so no characters are being written to the PORT.(O
For years, ST seems to spit in the face of developers every time they try to “improve” the ecosystem. Even now they’re trying to move toward *** like AI chips or other *** that sounds great to shareholders, while we developers are left with the crumbs of their work. These chips are widely recognized around the world and probably have some of the best engineers in the industry behind them, and yet what we actually get as developers are slow programs programs with a thousand issues on Linux, badly developed no matter how you look at it.Recently, as Linux programmers, we ran into the problem that CubeProgrammer was using an “hack” I can’t call it anything else where it used an sprintf() on stdin to try to catch all files starting with 0x*. And as soon as this recursive hack stopped working, they blamed Linux for the issue (obviously). All these applications are written in Java and are ridiculously slow, to say the least. An Eclipse-based IDE in 2025 feels like a slap in the face to anyone
I bought an stm32f103c8t6 recently, and just wanted to write a simple test C/C++ program for it. It has been 3 days - I have tried multiple combinations of cubemx and cubeide versions and everytime there is the same issue - it just doesn’t let me build the imported project. On this site I found a similiar question on this topic and people said that the problem is caused by system username containing non-english characters. I changed my windows profile name to contain only english characters and the problem persists.I am a bit lostHere is a photo of my project, just generated by MX. inside the project folderAnd here is how it looks after i open it in the IDE I have tried to manually set the nature to C/C++ but it doesnt solve the issue at all. it just make a small “C” appear over only the upper folder.
We are currently shifting from using CubeIDE to a Docker + VS-Code combo and this works great for compiling but debugging still has some challenges.On Linux it seems to work (for the colleagues I spoke to) but on Windows we still have some issues.Forwarding the ST-Lin USB port using usbipd works but as soon as I step away from my laptop to have a coffee break or lunch, things go wrong: The right LED blinks red/green when debugging or just red when I stop debugging as long as things work but after a break both LEDs are green and OpenOCD refuses to connect to the ST-Link with an “ Error: libusb_open() failed with LIBUSB_ERROR_NOT_FOUND” message.At that time, “usbipd list” still reports the ST-Link is attached to WSL/Docker and lsusb also shows the device being available in my docker container (and yes, this is in a terminal window in VS-Code)I can get it to run again most of the time by restarting the container and/or quiting/restarting VS-Code but that not always works.Rebooting the lap
Hello, I bought a NUCLEO-F446RE Evaluation board last month. But it doesn’t work when I “RUN” or “DEBUG” in STM32CubeIDE2.1.1 environment . To solve this problem, I tried several methods supplied by GPT, I can list more information below:Firstly, my computer is a lenovo notebook with win11, the STM32CubeIDE version is 2.1.1, and STM32CubeProgrammer version is 2.23.0;Secondly, the device management can list the key information showed below when I connect NUCLEO-F446RE:Thirdly, the STM32CubeProgrammer can easily connect NUCLEO-F446RE, the figure of connecting status and log are showed below: However, after I closed STM32CubeProgrammer and open STM32CubeIDE, when I click “run” or “debug”, IDE cannot connect NUCLEO-F446RE, the problem figure showed as below: I feel puzzled on this issue, can you give some advice? Thanks.
Hello there,I made a project using the STM32H7A3 controller. I imported the project into my workspace and everything worked fine. The project got recognized as a CubeIDE project and compiling it was no problem. Now I wanted to switch to the STM32H755 controller which is a dual core controller. Mainly because it has an onboard ethernet connector. I wanted to test my old project on the new controller and configured a new project with CubeMX and generated Code. I set the toolchain to STM32CubeIDE and ticked “generate under root”. It generated the following structure:Now, when I import the project into my workspace, only the sub-projects CM7 and CM4 for the two cores can be separately built but the root project does not get recognized as a CubeIDE Project. Additionally, every #include for HAL driver headers has an unresolved inclusion error: main.hThis is the main.h file that got generated inside the CM7 folder. On default files and other files I copied all the includes work except for tho
Hello,I'm experiencing a strange debugging issue with an STM32L431 and would like to know whether anyone has seen a similar problem.Environment MCU: STM32L431 IDE: STM32CubeIDE v2.1.1 Debugger: ST-LINK/V2, used SWD (SWJTAG) Boot0 pin is connected and used for System Bootloader update. IssueWhen starting a debug session from STM32CubeIDE, the debugger connects successfully and downloads the binary to the target Flash. However, about 50% of the time, after entering the debug session, the program counter (PC) is set to an incorrect start address and the SRAM contents appear to be corrupted. As a result, debugging cannot proceed normally.Typically: 1 out of 2 debug-attempts works normally. On the failed attempts, the target reset/debug state appears to be abnormal. CubeIDE cannot start debugging correctly until I retry. ObservationIf I program the Option Bytes with: ( uisng CubeProgrammer)nSWBOOT0 = 0the problem seems to completely disappear.Debugging becomes stable and succeed
Hello, Our IT setup requires us to install STM32CubeIDE through an administrator account and then set the privileges to all users. However, when I try to run STM32CubeIDE.exe on my standard account, I get a message “Blocked by System Administrator”. I am sure the privileges and security settings through windows has the .exe permitted for standard accounts. Thank you.
hi team.when we use to debug are run the program i getting this issue . i update the software ,i download the package , i linked my id in the software , i update the st-link . after all update too i getting this error .
I am trying to use SWV (ITM Console and Statistical Profiling) on the STM32N6570-DK with an application generated by STM32 AI Model Zoo (ST Edge AI 4.0). Normal debugging works perfectly—breakpoints, memory access, register view, and DWT->CYCCNT are all functional, and CoreDebug->DEMCR has TRCENA enabled. However, every SWV-related window (ITM Data Console, Statistical Profiling, Data Trace, etc.) remains completely blank.I have already verified the SWV configuration in STM32CubeIDE (v1.19.0), updated the ST-LINK firmware to V3J17M10, tried both Software System Reset and Attach to Running Target, manually configured PB5 as GPIO_AF0_TRACE, and audited the generated project. The project contains no explicit initialization of ITM, TPIU, DBGMCU, or trace-related peripherals, and nothing appears to disable debugging. Since the project is generated by the AI Model Zoo (FSBL + XIP boot flow) and does not include an IOC file, I am unsure whether additional trace initialization is require
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.