Ask questions on STM32CubeMX. Discuss code generation and configuration challenges, among other topics.
Most recent activity
I'm using STM32F2xx, STM32F4xx, STM32F7xx and STM32L0xx firmware supplied by STM32CubeMX. I need to generate an SBOM for cybersecurity purposes. Can ST provide that or provide documentaiton that can be referenced to generate the SBOM?
안녕하세요 STM32N6570-DK의 사용하기 위한 cubemx 설정이 필요합니다. 카메라, lcd, sd카드, usb, eth 등 기능을 다 살린 cubemx 설정 또는 ioc 파일을 받고 싶습니다. 확인 부탁 드립니다. Hello, I need a cubemx setting for use of STM32N6570-DK. I would like to receive a cubemx setting or an ioc file that utilizes all the functions such as camera, lcd, sd card, usb, eth, etc. Please check it.
I am setting up my STM32F303RET6 for four differential inputs to be sampled simultaneously. As seen in the screenshot attached. there is no option for differential inputs on CubeMX. Am I missing something here? I have reset whole project to ensure no pins are assigned elsewhere.
Hi,I found the same issue as in.https://community.st.com/t5/stm32cubemx-mcus/found-a-bug-with-the-latest-rev-of-stm32cubemx-rev-5-3-0/td-p/279154(thank you @MSilv for reporting this btw).Since a STM32CubeMx update and STM32F4 Cube update, the generated main.c is missing two lines in the end of the generated void SystemClock_Config(void) function :LL_Init1msTick(100000000);LL_SYSTICK_SetClkSource(LL_SYSTICK_CLKSOURCE_HCLK);The update was quite a big leap :CubeMx: from 5.2.1 to 6.16.1STM32Cube FW_F4: from 1.24.1 to 1.28.3Without those lines the code is stuck.Adding them back in the user-code following SystemClock_Config(void) mitigates the issue, but it looks like those lines shouldn't have been deleted in the first place.
I've read other posts and the relevant app notes about this and tried some testing on my side but still not finding an easy or even effective way to do this.I have a CubeIDE project built on a CubeMX ioc file for STM32G0B1KEU6 and want to change to STM32G0B1KCU6 (smaller flash). Same package, same core, same pinout, just smaller flash size. Should be easy.CubeIDE 2.1.0CubeMX 6.17.0I open the CubeIDE project and then the existing ioc file within that.I click Pinout -> List Pinout Compatible MCU's and select new the MCU. I click Import.It creates a new ioc file (instead of updating the existing file within this project which is what I actually want) and attempts to import all of the existing ioc project settings. It fails to import DAC and USB settings for some reason which I now need to go and manually edit and hope that everything else is correct. It is completely unclear what has and has not ported over successfully so I'll need to very carefully review everything. Now I
After updating the STM32CubeG4 Firmware Package from version 1.6.1 to 1.6.2, I discovered a bug that causes incorrect deadtime prescaler settings for HRTIM when using the LL driver and CubeMX. As a result, the deadtime value can change to a fraction of the original value without anyone noticing, which can lead to hardware damage.If I set in STM32CubeMX 6.17.0:HRTIM -> Timer x -> Dead Time -> Prescaler = "fDTG = fHRTIM * 2"The generated code contains:LL_HRTIM_DT_SetPrescaler(HRTIM1, LL_HRTIM_TIMER_x, LL_HRTIM_DT_PRESCALER_MUL2);LL_HRTIM_DT_PRESCALER_MUL2 is defined as HRTIM_DTR_DTPRSC_2 -> Register HRTIM_DTxR DTPRSC[2:0] = 0x4This results in the deadtime value:t_DTG = 2^4 * (t_HRTIM / 8) = 2 * t_HRTIM = fHRTIM / 2So instead of "fHRTIM * 2" I get "fHRTIM / 2"!I think the confusion comes from the fact that in CubeMX the prescaler is set as a multiple of the frequency, but in the datasheet and driver the multiple of the period is described.Before the driver update, there was an
Hi, I'm working on an stm32U0 with Makefile generated by CubeMX v6.17.0. The code has been built with: arm-none-eabi-gcc (Arm GNU Toolchain 14.3.Rel1 (Build arm-14.174)) 14.3.1 20250623 on a GNU/Linux machine. When I appended the -flto switch to the ASFLAGS, CFLAGS and LDFLAGS variables in the Makefile, this triggered a warning: lto-wrapper: warning: Options to '-Xassembler' do not match: -alms=/tmp/app/release/main.lst, -alms=/tmp/app/release/gpio.lst, dropping all '-Xassembler' and '-Wa' options. The .elf file was generating and it seems to be working. The code built with flag -O2. I wouldn't want this warning to lead to unexpected errors. Does anyone have experience with LTO and can tell me if it's a good idea to use it? I can't figure out if GCC bug. Many thanks.
When I open Help -> Manage Embedded Software Packages in STM32CubeIDE 1.8.0, I'm unable to click the arrows to expand the package versions under each STM32 family. If I click the "+" icon in the top right corner, everything expands, but then I'm unable to check any of the boxes next to the packages to select them. FYI, I do not have any of these problems in the standalone STM32CubeMX 6.4.0: I'm running this on macOS Monterey 12.2.1 running on Apple Silicon (arm64).
I am running CubeMX in a WIndows on Arm VM on a MacMini, which is connected to a KVM. When I switch the KVM to another machine and come back, all of the windows have changed size (not unexpected). They all revert to their original sizes and positions, but the window for CubeMX does not redraw/scale it's content.For example, I see this before I switch away:And this when I switch back (note the double menu):Dragging the edge of the window to cause a (very small) change in size restores the expected view.CubeIDE and TouchGFX do not show this behaviour.
Split from STM32CubeIDE version 2.1.0 won't generate IOC project file as this is a new question.Please keep to one question per thread.Thanks both Ghofrane GSOURI & Andrew Neil for pointers. Adopting the method shown in the presentation. I have selected a nucleo development board to create an STM32MX project. I have then created a STM32CubeIDE projecfrom the MX project. Having not written any code yet, I'm getting compilation errors but have no idea why? The errors are relating to files marked with a red x below:
Please note that the user authentication service will be under maintenance on 12 March at 5:30 AM CET (10:00 AM IST) for approximately one hour. During this period, some disruptions may occur. The impact is limited to versions earlier than STM32CubeMX V6.16 and STM32CubeIDE V2.0.0. The service returns to normal soon after maintenance is complete. What to do if you encounter a problem If you experience issues during the maintenance window, please use st.com or try again after one hour. If the problem persists after that time, contact us through the Community for further assistance. Update 13 March 2026: The maintenance was successfully completed as scheduled on 12 March. If you encounter any issues, please do not hesitate to contact us.
Hello,When generating a basic Bluetooth project for NUCLEO‑WBA55CG using STM32CubeMx 6.17 (and 6.16) with Cmake as the toolchain, the project compilation fails to a missing symbol during the link stage.Here is the error message:le_ctrl.c:(.text.HCI_READ_LOCAL_VERSION_INFORMATION+0x20): undefined reference to `ll_sys_get_brief_fw_version'After investigation, it turns out the issue is caused by the incorrect order of linked static BLE libraries in the generated CMake file "cmake/stm32cubemx/CMakeLists.txt". CubeMX places the Link Layer and BLE Stack libraries in an order that prevents the linker from resolving symbols correctly. Reordering the libraries fixes the issue.Here is the corrected order that resolves the error:# Project static libraries set(MX_LINK_LIBS :stm32wba_ble_stack_basic.a :WBA5_LinkLayer_BLE_Basic_lib.a STM32_Drivers ${TOOLCHAIN_LINK_LIBRARIES} Utilities STM32_WPAN Common ) Best regards
Hello,I want to develop a LoRaWAN sensor with STM32WL5MOCHxS, but I can't activate the LSE and HSE clock in CubeMX.Is there a way to make the adjustments in the .ioc?The configuration is possible in STM32WL5MOCH (expired).
Hello ST Community,I am reporting a 100% reproducible build failure when using the latest STM32CubeWBA SDK and tools for the NUCLEO-WBA55CG. It appears the default configuration generated by STM32CubeMX for the BLE_p2pServerThreadX application results in a RAM overflow and linker warnings.Environment:MCU: STM32WBA55CGUxBoard: NUCLEO-WBA55CGSDK: STM32Cube_FW_WBA_V1.9.0STM32CubeMX: v6.17.0STM32CubeIDE: v2.1.0 (with GNU Tools for STM32 14.3.rel1)Steps to Reproduce:Open the example .ioc file located at: STM32CubeWBA\Projects\NUCLEO-WBA55CG\Applications\BLE\BLE_p2pServerThreadX\BLE_p2pServerThreadX.iocIn STM32CubeMX, generate the project for STM32CubeIDE.Open the project in STM32CubeIDE v2.1.0 and perform a Clean Build.Observed Error (Scenario A - Default settings):The linker fails with a RAM overflow of 17,288 bytes:ld.exe: BLE_p2pServerThreadX.elf section `.bss' will not fit in region `RAM'ld.exe: region `RAM' overflowed by 17288 bytes Observation (Scenario B - Manually adjusting RAM
Dear all and ST Tech Support,I am writing to report a concerning inconsistency I encountered while migrating an older project to the latest version of STM32CubeMX (v6.17.0).Background: I recently reopened a project originally created about two years ago with STM32CubeMX v6.8.1 for the STM32H742VGTx MCU. My goal was to review the Timer 4 settings to use them as a reference for a new design.The Issue: Upon inspecting the Clock Configuration tab, I noticed that the APB1 Timer Clock was displayed as 120 MHz. Based on my original project notes, this value should have been 240 MHz.When I calculated the Timer 4 period using the 120 MHz figure, the resulting timing was twice as slow as it should be. While checking the documentation, I confirmed that Timer 4 is connected to the APB1 bus. In the CubeMX interface:The D2PPRE1 divider was set to /2, resulting in an bus clock of 120 MHz (which is the limit).However, the Timer Multiplier was stuck at x1, leading to an APB1 Timer Clock of 120 MHz.Obse
Hi All,I have been struggling with the CUBEMX (6.17.0). I just want to put here the facts. I am deeply disappointed about the support, but let's suppose it's minor and will be corrected no later than next week.I wanted check and understand the LCD settings with touchGFX since the newest version(4.26) of both did not worked together either. If I tick in the separate c and h files the cubemx generates the wrong files. Also the cubemx will not generate all of the files to build the setup. There are two files between the touchgfx and cubemx in the touchgfx library. Note: The older files from the s7 development board has the comments that it will be generated but just part of it. Note2: I bought the dev board for sure and identified these errors there. It's even bigger error in the STM32H7x7 LQFP176 since the XSPI1 and XSPI2 are available at HEXA_SPI, but it's the same behaviour as above. The right MCU cannot be selected. See the datasheet for the ordering number. It has to have H to g
On STM32Hxx and STM32N6 families I have faced a situation where I need to modify startup assembly code (startup_stm32xxx.s) to copy code (.text) into ITCM or clear RAM/TCM areas, for clean data or to prevent ECC error (on STM32N6). But next time CubeMX generates code, those changes are overwritten. Same story with SystemInit function in system_stm32xxx.c. So either manual restoration or script must be done. But it's getting quite annoying after several projects. I believe the purpose of CubeMX is to ease development, so I make a feature request:Please add user code begin/end comment sections that exist in main.c also into startup_stm32xxx.s assembly and system_stm32xxx.c source files.For startup assembly I wish the user sections are:User symbols definitions.User data copy.User zero fill.For system file I wish the user sections are quite similar to main.c:User includes.User defines/constants/variables.In SystemInit() function:In the beginning.After VTOR settingAt the end.User func
Hi folks,Well, as the title says, I am having issues installing CubeMX on my M4 Macbook Pro (Apple silicon). I got the email for both the IDE and MX, and I was able to install the IDE just fine, but the link I got for MX seems broken. Is there any other way to download CubeMX? Any help is much appreciated.
Hi all!I'm handling project which use communicate RMII TCP/IP. if i set up CPU clock is 200Mhz as picture 1, the system run OK, i can ping network but my system require CPU clock is 400Mhz. if i set up CPU clock is 400Mhz, the connection between board and serve was intermitten. can you help to take alook and share me solution to set CPU clock 400Mhz and can run RMII.
Upgraded STM32CubeIDE to 2.0.0 and struggling with issues!Installed CubeMX as a standalone program too. Now I'm confused how to create a STM32 project and as usual select C++ as the target language. 1- Should I start from the IDE? There'll be no .ioc file then!2- Should I start from CudeMX? There'll be no option to select C++ as the target language! How to fix it?My purpose is to keep main.c, create .hpp, .cpp files and include the header in main.c to be able to call the functions defined in the .cpp file.
Hello everyone,im trying to send a simple "Hello World" via UART to my Laptop and read in the PuTTY Terminal on my on NUCLEO-H7S3L8 Board, But i tried everything, i cant revieve anything!!! Tried every UART/USART Port in the CubeMX. Nothing on my other NUCLEO-F303RE worked it instantly. These are settings in the CubeMX. i Used USART3 and selected Pins PD8 and PD9. i connected the Board to my Laptop. Set the Baud Rate to 115200 and also looked up the correct COM Port. Here is the test code and see Screenshots below. Maybe something in the CubeProgrammer??? UART_HandleTypeDef huart3; /* USER CODE BEGIN PV */uint8_t tx_buffer[] = "Hello World!\r\n"; ... while (1){/* USER CODE END WHILE */HAL_UART_Transmit(&huart3, tx_buffer, sizeof(tx_buffer), 100);HAL_Delay(100); /* USER CODE BEGIN 3 */}/* USER CODE END 3 */}
The default clock settings in CubeMX are:High Speed Clock (HSE): BYPASS clock sourceLow Speed Clock (LSE): Crystal/Ceramic oscillatorThis causes the MCU to go into Error_Handler() after going into SystemClock_Config()How to fix:Change High Speed Clock (HSE) to Crystal/Ceramic oscillatorLow Speed Clock I think should be disabled.
Hi all,this issue is related to: https://community.st.com/t5/stm32cubemx-mcus/cmake-project-generation-with-cubemx-cubeai-fail/m-p/770680/highlight/true#M31054. , where it was solved by updating from STM32CubeMX V6.12.0 to STM32CubeMX V6.13.0. However, I have STM32CubeMX V6.16.1, so the error might have reappeared.Background: I try two write code for an STM32N6 and use a CMake project for this. For the setup, I used the following tutorial: https://community.st.com/t5/stm32-mcus/how-to-debug-the-stm32n6-using-vs-code/ta-p/833499 and I can compile + flash the code and get a blinking LED, so the CMake project itself is working correctly.However, when I export a neural network to the Application using CubeAI, CubeMX generates wrong relative paths in Appli/mx-generate.cmake. More specifically, all paths related to CubeAI have one "../" more than needed. Example: ----------------set(ST_Src${CMAKE_CURRENT_SOURCE_DIR}/../../Middlewares/ST/AI/Npu/ll_aton/ll_at
I have a project that uses different MCUs. 99.99% of the code is common for all, so I have different .project, .cproject and .ioc files for each, and use CubeMx to handle the hardware initialization.Currently, it requires manual building: Close the project, copy and replace the files, open the project, trigger code generation and compile.Now I'm trying to automate that.Replacing these files in a script and calling the compiler (headless build) is the easy part.This compiles correctly when the code was already generated with CubeMX.org.eclipse.cdt.managedbuilder.core.headlessbuild -import C:\projects\my_project -build my_project/ReleaseHowever, I was unable to automate CubeMX generationI tried using CubeMx from CubeIDE, and also standalone version, with the same results:C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeMX\STM32CubeMX.exe C:\ST\STM32CubeIDE_1.7.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.3.0.202107141111\STM32CubeMX.jarIf I only run this, it load the config
Hi,I would like to create a project with CubeMX where I handle files on a SD card with FAT Fs file system using a STM32U5 mcu.When I select the STM32U5 MCU in CubeMX the FATFS middleware is not available, while If I select other MCUs series like STM32F for example the FATFS Middleware is available.I tried to find the FATFS software package to manually install it into CubeMX but I haven't found nothing.Is FATFS middleware available for STM32US MCUs for CubeMX ? Thanks for your help.
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.