Ask questions on STM32CubeMX. Discuss code generation and configuration challenges, among other topics.
Most recent activity
Hi, may I confirm whether the STM32H755 supports only the muxed PSRAM configuration? I want to experiment something with an unmuxed connection with separate data and address. Is there a work around on this or is it an internal design that I cannot change
Hello,I’ve created a custom STM32Cube Pack using STM32Cube Pack Creator and added an example project inside the pack. The pack builds successfully and installs correctly in CubeMX. However, the example I added does not appear in the CubeMX Example Selector.It appears in "Repository/Packs" in my user folder in c:/Details:Pack created with STM32Cube Pack CreatorExample project added under the Examples folder in the pack structurePack installs fine and is visible in CubeMXThe example does not show up in the CubeMX Example Selector listQuestions:Are there specific requirements or metadata (e.g., .pdsc file entries, example description XML) that must be included for CubeMX to recognize and display the example?Could this be related to the folder structure or naming conventions inside the pack?Any guidance or documentation on ensuring custom examples appear in CubeMX would be appreciated.Thanks in advance for your help!
Posted on November 09, 2016 at 15:03Hello,as I understood, x-cube-cryptolib is a plugin for the cubemx software, isn't it?But when I run SRM32CubeMX, Version 4.17.0 and use Help->Install new libraries-> from local and select en.x-cube-cryptolib.zip, I get this error:This Package version is not managed on this version of STM32CubeMX.What's wrong? #cubemx
OverviewAfter migrating a project from CubeMX v5 to v6 (DB 6.0.150), the pin assignment for I2C1_SCL (PB8) and I2C1_SDA (PB9) is automatically removed when SPI1 is enabled.This issue did not occur in CubeMX v5, and on real hardware both I2C1 and SPI1 can operate simultaneously. Steps to ReproduceOpen a project created in CubeMX v5 and migrate to CubeMX v6Assign PB8 → I2C1_SCL, PB9 → I2C1_SDAEnable SPI1 (Full-Duplex, Master or Slave)PB8/PB9 immediately lose their I2C1 assignmentsIn some cases, I2C1 disappears entirely from the .ioc, and MX_I2C1_Init is no longer generated EnvironmentMCU: STM32F103CBTxCubeMX: 6.15.0DB: 6.0.150Firmware Package: STM32CubeF1 v1.8.4 / v1.8.6Previous project created with: CubeMX 5.x (DB 5.x) RequestsPlease confirm whether this behavior is a known issueProvide any available workaround
TitleFDCAN Nominal Time Segment 2 (NTSEG2) Parameter Missing During STM32CubeMX Project Migration, Leading to Incorrect Baud Rate CalculationProduct/ToolSTM32CubeMXVersion Found (New)V1.16.0 (CubeMX: V6.11.0 or newer)Target FW PackageSTM32Cube FW H7 V1.12.1Original Version (Old)V6.9.1Original FW PackageSTM32Cube FW H7 V1.11.1MCU FamilySTM32H7 Series (FDCAN Peripheral)SeverityHigh - Causes incorrect calculation of the critical communication parameter (Baud Rate), requiring manual intervention to fix. :lady_beetle:Issue Description When opening an existing .ioc project file created with STM32CubeMX V6.9.1 and STM32Cube FW H7 V1.11.1 in the new STM32CubeMX V1.16.0 (with FW H7 V1.12.1) and initiating the project migration, the configuration for the FDCAN1 peripheral's Nominal Baud Rate parameters is incorrectly converted. This results in an incorrect CAN Baud Rate calculation post-migration. :gear:Detailed Reproduction Steps Use STM32CubeMX V6.9.1 and STM32Cube FW H7 V1
This morning I updated my CubeIDE to 1.19 from 1.18. I assume MX updated too... don't know how to check the MX version.After updating and then opening and migrating my project to 1.19, my OCTOSPI settings and the "octospi.c" file were gone. When I try to set things back the way they were in 1.18, there is no longer an option for "Quad SPI -- MULTIPLEXED --". My circuit has a flash IC and a RAM IC sharing the bus on Data [3:0] (Port1 IO[3:0] -- MULTIPLEXED --). This has been working when using IDE 1.18, but now I'm stuck.How do I setup the new MX to multiplex OCTOPSPI1 and OCTOSPI2 ?
New question split from this thread. Hello, Thank you for your response. I have double-checked and found that the 6.10 version also cannot be configured in this way. I will adopt the single-line mode on the next hardware version. However, there is still a question regarding the configuration of can in version 6.16. Why must the sum of the two parameters in the following figure be 32? Otherwise, there will be a warning. In version 6.13, this issue does not exist. The attachment contains the relevant IOC files.
Hi everyone,I've noticed a change in UART pin configuration behavior from CubeMX 6.10.0 to 6.16.0 that has caused a practical issue:Before (v6.10.0): It was possible to configure only the RX or TX pin for an asynchronous UART, enabling "receive-only" or "transmit-only" modes.Now (v6.16.0): Both TX and RX pins must be assigned simultaneously; otherwise, the UART peripheral cannot be enabled.Problem: This wastes a GPIO pin. My specific use case is an SBUS receiver (one-way communication, requiring only the RX pin). Now I'm forced to allocate an additional TX pin that will never actually be used.Questions:1. Is this a permanent new requirement in CubeMX, or is it a GUI bug in version 6.16.0?2. What is the technical reason behind this change?3. Is there any way to achieve a true single-pin UART configuration under the new version?Thanks for any insights.
Hello,I have a Nucleo-L496ZG-P evaluation board that has a STM32L496ZGT6PU processor installed on.The processor has 2 CAN bus peripherals, and I would like to run an example that uses either of those.The STM32CubeMX has CAN examples, but not for STM32L, just for STM32F family.Could anyone recommend how I can import the CAN examples from the STM32F into the nucleo board.Thanks, D
H745 startup files are located in "CM7/Core/startup/startup_stm32h745xx_CM7.s" or "CM4/Core/startup/startup_stm32h745xx_CM4.s".However, the build source path for the startup files in the mx-generated.cmake in each core's folder is ". /Startup/startup_stm32h745xx_CM7.s" or ". /Startup/startup_stm32h745xx_CM4.s".Therefore, the cmake file must be changed to build.
I have been trying to get VS Code working with the latest STM32 VS Code plugins, and not having much luck. Latest plugins installed, on a nice fresh install of Fedora Desktop Linux.I have been using Red Hat/Fedora/CentOS, Ubuntu and versions of Mint and Arch as desktop OSes and development platforms since 1995...That being said, I was frustrated that I couldn't get this piece of the plugin puzzle working. The plugin could not find the Cube MX installation. So, I tried adding a .exe extension to it (yep, on Linux), and lo' and behold, there it was. Cube MX came to life.This tells me the plugins are coded to search for a .exe file extension by default.John
Hi, I'm trying to understand what filters I have to apply in CubeMX to find products that support 2 QUADSPI with independent clock. E.g. h7a3aii6q seems to be such part that allows me to have two independent QUADSPI and there are parts like e.g. H743XIH6 that have QUADSPI Dual-Bank with two NCS but with only 1 Clock and there are also Parts with OCTOSPI, but they don't seem to have two independent interfaces most of them time.Any chance to make part search easier for me to find products that have features like these two independent QUADSPI?Thx
In the H562 CubeMx setting the flash option bytes only allows flash number of sectors up to 7. If you look at the FLASH_EDATA_EraseProgram example in the H5 firmware bundle you will see it sets the number of sectors to 8 before calling FLASH_OB_EDATAConfig function. this function decrements by one before ORing the sector enable bits. Because CubeMx only allows up to seven when it generates code you do not get the full EDATA range. And if you set 1 in cubemx I guess you do not get any???
I have started a new project using STM32H573. This is using the following:Cube MX 6.16Cube IDE 2.0 - Build: 26820_20251114_1348 (UTC)The project has secure zone enabled. I have written bare metal code and shown I can run/debug code in the non-secure environment without issues, and I can invoke non-secure callable functions etc.My problem comes when I add Free RTOS and enable CMSIS RTOS v2 to the non-secure side.When I build, I get linker errors (see below).When I search the forums, there have been similar issues raised, but most are quite old posts or seem overly complex (which always worries me)``C:/Users/531023/git/TEML20/Monitor/NonSecure/Debug/../Core/Src/app_freertos.c:86:(.text.MX_FREERTOS_Init+0xa): undefined reference to `osThreadNew' C:/ST/STM32CubeIDE_1.18.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.100.202509120712/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe: ./Core/Src/app_free
So here is a weird thing I've noticed with a STM32U073... CubeMX shows that this CPU has the "Trace Asynchronous SW" option, but for this mcu it is no longer listed under SYS, but under its own category: "Trace and Debug" -> "DEBUG". Anyway, after enabling it, the signal shows up on the graphical pinout, with the name "DEBUG_JTDO-SWO". This is pretty much the same as i was used to with other STM32 mcu's. So when i was designing a PCB for this new STM32U073 MCU i assumed it had support for SWO (or SWV or whatever the name is). But now when I'm trying to debug this MCU, the debugger doesn't allow me to enable "Serial Wire Viewer (SWV)" in the debug configuration properties of STM32CubeIDE. The option is just greyed out. So I did some more digging in the datasheet for the STM32U0, and I'm starting to wonder if it even has support for SWO/SWV? Can anyone enlighten me? Is this just a problem with the debug config in STM32CubeIDE, or does the STM32U0 have no SWO/
STM32Cube MCU Package for STM32U0 Series 1.3.0 + STM32CubeMX 6.15.0 + STM32U083RCT6You can configure the SWO output in the configurator (CubeMX), but in fact, SWO is not present in the microcontroller.
Hi I am using STM32H7S78-DK.I don't understand how to use the compare tool in cube mx project.My project consists boot and application software, i.e., a total of four different software versions. Which software does the compare tool compare? How can I select the software?
Hi all,I'm using STM32Cube IDE (version 1.13.1, build 17479_20230728_0839 ) to manage my company project based on a STM32U5 MCU.More specifically, I'm using linked list feature (for playing audio with SAI + DMA transfer) and I have noticed what appears to me as a bug in auto-generated code.Basically, I have created through CubeMx one list named SAIQueue, with one node named NodeTx and the auto-generated initialization code is the following: /** * @brief DMA Linked-list SAIQueue configuration * @PAram None * @retval None */ HAL_StatusTypeDef MX_SAIQueue_Config(void) { HAL_StatusTypeDef ret = HAL_OK; /* DMA node configuration declaration */ DMA_NodeConfTypeDef pNodeConfig; /* Set node configuration ################################################*/ pNodeConfig.NodeType = DMA_GPDMA_LINEAR_NODE; pNodeConfig.Init.Request = GPDMA1_REQUEST_SAI1_B; pNodeConfig.Init.BlkHWRequest = DMA_BREQ_SINGLE_BURST; pNodeConfig.Init.Direction = DMA_MEMORY_TO_PERIPH; pNodeConfig.Init
1. Issues with Headless Execution and CLI CommandsGUI Opens with CLI Flags: Certain CLI flags designed for automation still launch the AWT/Swing GUI components, which causes failures in headless environments (like Docker containers or typical Linux servers).Specific Example: The -P flag (Package Manager) throws a java.awt.AWTError: Can't connect to X11 window server error because it requires a display.Expected Behavior: All package management and code generation functions should have a truly headless (no GUI dependencies) CLI option that works universally in server environments.Lack of Clear CLI Documentation: Documentation for reliable, headless CLI commands (like swmgr install) is sparse or non-existent in the official user manual (UM1718), leading to trial-and-error with internal commands. 2. Issues with Offline Package Management and Database IndexingDiscrepancy Between Repository and Database Paths: Manually placing firmware p
When attempting to initialize a single GPIO EXTI as disabled, the generated code still enables the interrupt. I did notice that if I uncheck all of the EXTI lines, then none of them are enabled in the generated code. So it seems it's all or nothing. Is this the expected behavior?Thanks,FrankThis:Generates: /* EXTI interrupt init*/ HAL_NVIC_SetPriority(EXTI0_IRQn, 5, 0); HAL_NVIC_EnableIRQ(EXTI0_IRQn); HAL_NVIC_SetPriority(EXTI2_IRQn, 6, 0); HAL_NVIC_EnableIRQ(EXTI2_IRQn); HAL_NVIC_SetPriority(EXTI3_IRQn, 6, 0); HAL_NVIC_EnableIRQ(EXTI3_IRQn); HAL_NVIC_SetPriority(EXTI4_IRQn, 6, 0); HAL_NVIC_EnableIRQ(EXTI4_IRQn);However, this:Generates: /* EXTI interrupt init*/ HAL_NVIC_SetPriority(EXTI0_IRQn, 5, 0); HAL_NVIC_SetPriority(EXTI2_IRQn, 6, 0); HAL_NVIC_SetPriority(EXTI3_IRQn, 6, 0); HAL_NVIC_SetPriority(EXTI4_IRQn, 6, 0);
Hi, Is there anyway to generate codes in such way that we can customize our sub-project paths? E.g. Instead of having project/core/src, we have project/src... etc? Thanks in advance!
Hi,I'm using CubeMX 6.16.0 with the EWARM setting.When I click "Generate Code," it creates the IAR project with the default name "project.eww."I open the project with IAR and save it with a new name.Then I click the "Generate Code" button on CubeMX, and it regenerates the workspace name, again as "project.eww."Is it possible to set the IAR project name from CubeMX to something other than "project.eww"?Thanks
After (auto) migration the .ioc file to the actual CubeMX 6.15.0, the Dual Quad SPI mode got changed to Octo SPI mode and there seems to be no way to get back to Dual Quad SPI mode, since the mode selection entry "Dual-Quad SPI" is not shown as mode selection entry.After taking a closer look, I found out, that the Dual-Quad SPI mode is avail only for the OCTOSPI2 device, whereas the Dual-quad SPI option is not avail for the OCTOSPI1 device (tested with a "clean" configuration). Since my hardware was doing fine with Dual-quad SPI mode on OCTOSPI1 device there seems to be no reason for removing the Dual quad SPI mode from OCTOSPI1.I think, this behaviour is not intended ? Actually I found no workaround for this problem except for manually changing the auto-generated code so it would be nice to have that issue fixed. Even if changing the .ioc file manually the Dual Quad SPI mode option is removed on next load into the MX GUI again. Best regrads, Heino
Hello ST team and community,I am working with STM32H755 and noticed a potential bug in the code generated by STM32CubeMX when handling the RCC_FLAG_D2CKRDY check during system initialization. CubeMX produces two variants of the loop:while((__HAL_RCC_GET_FLAG(RCC_FLAG_D2CKRDY) != RESET) && (timeout-- > 0)); if (timeout < 0) { Error_Handler(); }andwhile((__HAL_RCC_GET_FLAG(RCC_FLAG_D2CKRDY) == RESET) && (timeout-- > 0)); if (timeout < 0) { Error_Handler(); }Issue observedThe loop condition uses (timeout-- > 0).This means the loop exits when timeout reaches 0, but never decrements below zero.As a result, the check if (timeout < 0) will never be true, so Error_Handler() is never called — even if the D2 domain clock never becomes ready.Since STM32H755 relies on proper synchronization between the Cortex‑M7 and Cortex‑M4 domains, missing this error condition can mask serious startup failures. Developers may assume the system initialized correctly when
Hi,in the latest cube (6.15) the STM32H573LI is not available, I can't start a project on this MCU.why is that? is there going to be a fix soon?
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.