Ask questions on STM32CubeMX. Discuss code generation and configuration challenges, among other topics.
Most recent activity
We are pleased to announce to you that the release 6.13.0 of STM32CubeMX is available. What is new in 6.13.0: Added support for the following series, microcontrollers and microprocessors: STM32N6, STM32U3, STM32WL3x, STM32G411xx and STM32C0 Added the support for the following Nucleo boards: NUCLEO-N657X0-Q, NUCLEO-C051C8, NUCLEO-C092RC, NUCLEO-U385RG-Q, NUCLEO-WL33CC1 and NUCLEO-WL33CC2 Added the support for a new Discovery kits and a new expansion boards: STM32N6570-DK and B-WBA5M-WPAN Extended the implementation of the CMake and Makefile build generators taking into account the memory management tool (MMT) features: Single-core microcontrollers without Arm® TrustZone®(a), excluding STM32H7Rx/7Sx, or with disabled TrustZone® Dual-core microcontrollers without TrustZone® (such as in the STM32H7 series) Add the support of the memory management tool on STM32H7 dual-core and STM32WBA5Mxx microcontrollers Added the compare projects feature to make user able to differentiate b
I have the following big problem:I had installed previously release 6.2.0 of STM32CubeMX and everything works fine. Then i uninstall this release and update to the new one 6.3.0.Now the programm craches after start. An backgroundprocess at windows for java (OpenJDK Platform binary) appears, but that's all. The program/app window doesn't appear anymore. A reinstallation of the older release 6.2.0 doesn't help.The OpenJDK Platform binary process remains as backgroundprocess "forever".I have also tried out what happen when i start STM32CubeProgrammer: backgroundprocess at windows for java (OpenJDK Platform binary) appears also, but after a short while the process becomes an app. The backgroundprocess disappear.I not really know what i should do now...
CubeMx version v6.9.0 deleting my folder structure/ Middleware. I tried to generate code via v6.9.0 and it just deletes my entire middleware files. My all commits are gone.
I'm using the NUCLEO-H7S3L8 and the max CPU frequency is 600MHz. By default, CubeMX sets VOS is set to 0 (low).But if this were the case, wouldn't it be violating the datasheet where it states 400MHz is the max CPU clock? I've been using 600MHz clock without ever setting VOS high and I haven't gotten any issues, so I'm not sure whether or not it's fine to leave VOS alone.
Why can't I change the Firmware Relative Path when I have unchecked the "Use Default Firmware Location"?I clicked the "Browse" button and there was no response.
Excuse me, what is the reason why I didn't respond when I clicked browse.
Hi,I am using STM32CubeMX version 6.13.0.I have created my own folders inside Middlewares folder. After each code regeneration, my own folders are deleted automatically. This issue is linked to the previous thread https://community.st.com/t5/stm32cubemx-mcus/cubemx-version-v6-9-0-deleting-my-folder-structure-middleware/td-p/577299 Regards,Hani
Hi, I have tried to configure the STM32H523RET6 for using USART1 with multiprocessor communication mode and enabled the auto baudrate detection. However, according to the application Note AN4908, the MCU stm32h523 doesn't support auto-baudrate. I don't know why STM32CubeMX has allowed me to enable/disable the auto-baudrate. Either the CubeMX has an error or the application note I am using CubeMX version 6.13.0 Regards,Hani
Hello!I would like to report a bug. Using STM32CubeIDE 1.16.0 and the integrated STM32CubeMX 6.12.0 i encountered a bug regarding OCTOSPI and MDMA on STM32H723ZGT6 MCU. Inside HAL_SPI_Receive_DMA(handle, pdata); where the HAL_MDMA_Start_IT is called the destination and source pointers are/were swapped resulting so the DMA was writing 64 bytes into the DR register which was crashing my application. Swapping these 2 attributes fixed the issue and is now working as intended, below im adding the swapped code where the commented out line is the false one (incorrect one).Thanks for your time. I hpe some ST employee sees this and fixes it but if not at least someone will be aware of the issue when he finds it on google
CubeMX shows the light blue start screen, and stops without any message!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
We are happy to announce that the issue preventing macOS users from generating STM32CubeIDE projects from STM32CubeMX has now been resolved. How to Fix the Issue: Please download the latest STM32CubeMX from st.com Background: A couple of weeks ago, we identified an issue that was affecting macOS users, preventing them from generating code for the STM32CubeIDE toolchain using STM32CubeMX. We appreciate your patience as we worked diligently to resolve this matter. For more details, please refer to our detailed post.
What does a red highlight mean? I am able to select the pin for the function I want but I'm seeing at least two pins with of these red highlights. One is an GPIO output which toggles fine. The other is for an EXTI which no longer generates an interrupt when the signal transitions.
Hello everyone,I'm sitting over here working on one of my projects and found that STM32CubeMX generated code with an error. My project uses the STM32H7R3L8H6H MCU with Ethernet activated in the connectivity. I have my project set to "generate individual files" because I like it more that way. However, the file "eth.c" contains an error at the beginning of the file: #if defined ( __ICCARM__ ) /*!< IAR Compiler */ #pragma location=0x24020000 ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT]; /* Ethernet Rx DMA Descriptors */ #pragma location=0x24020080 ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT]; /* Ethernet Tx DMA Descriptors */ #elif defined ( __CC_ARM ) /* MDK ARM Compiler */ __attribute__((at(0x24020000))) ETH_DMADescTypeDef DMARxDscrTab[ETH_RX_DESC_CNT]; /* Ethernet Rx DMA Descriptors */ __attribute__((at(0x24020080))) ETH_DMADescTypeDef DMATxDscrTab[ETH_TX_DESC_CNT]; /* Ethernet Tx DMA Descriptors */ #elif defined ( __GNUC__ ) || defined ( __ARMCC_VERSION )) /* GNU
I'm setting up Dual Regular Simultaneous mode on my STM32H533RE and I cane across a problem. When the code is gerated, both MX_ADC1_Init() and MX_ADC2_Init() end up with this: /** Configure the ADC multi-mode*/// multimode.Mode = ADC_DUALMODE_REGSIMULT;// multimode.DMAAccessMode = ADC_DMAACCESSMODE_12_10_BITS;// multimode.TwoSamplingDelay = ADC_TWOSAMPLINGDELAY_1CYCLE;// if (HAL_ADCEx_MultiModeConfigChannel(&hadc2, &multimode) != HAL_OK)// {// Error_Handler();// } WhereHAL_ADCEx_MultiModeConfiChannel expects MASTER as the first argument. So when I start up, ADC1 inits fine, but ADC2 fails because it tries to run that above functionwith hadc2 as the master, even though it is a slave, and has a HAL config error. If I comment out the above block on MX_ADC2_Init, all seems to work well. Is this a bug? Or can I do something different in CubeMX to make this not happen?
I want to manage a uart in reception with a DMA in circular mode using "low level" functions on a STM32U575ZITxQ processor. The initialization of my code is done with STM32CubeMx 6.13.0.In the "Project Manager->Advanced Settings", I chose "LL" for "GPIO", "GPDMA", "TIM" and "USART".In "Sytem Core->GPDMA1" channel1 is configured in circular mode with a "request" = USART1_RX.When I generate the code, the following code is generated for the uart initialization function:Unfortunately, as we can see, the node "Node_GPDMA1_Channel1" is declared local to the function, which makes its effective use impossible (unlike the "HAL" functions which make the node global).For my code to work (and it does), it is necessary that I take the node declaration out of the function and make it global.Of course, I have to repeat this change every time I regenerate the code with STM32CubeMx...Is there something I didn't do correctly, or is this an STM32CubeMx issue?
I am in the process of transferring from Mbed to VSCode with the STM332 extension. I have set up a project using CubeMX set to the default settings for a NUCLEO-L073 and have no issues. I believe this setup uses the MSI clock. I am trying to implement the HSE with an external 8MHz crystal but cannot get it to work. The program does not run (basic LED blinky) and there is no clock signal on the crystal when monitored with an oscilloscope.The changes I have made from the default NUCLEO-L073 CubeMX settings are:Pinout & Configuration tab: RCC High Speed Clock (HSE) set to Crystal/Ceramic ResonatorClock Configuration tab: System Clock Mux set to HSEI have verified that there is no issue with the hardware - when running from mbed the crystal has a good 8Mhz signal. Are there any other settings I am missing?Is there any other code i need to add on top of the CubeMX generated output?Thanks
Hello ST Community, I have a project using the H563. I recently upgraded STM32CubeMX from 6.12.0 to 6.13.0. After upgrading, and attempting to open the .ioc file, the following message is displayed: Regardless if I choose Continue or Migrate, I get the following error message in STM32CubeMX: If I downgrade STM32CubeMX to 6.12.0, I do not get the migration notification pop-up, and the .ioc file opens as expected. I was hoping to find out why this is occuring and a resolution to it. I have attached the STM32CubeMX log (which contains both the attempt at Continue and attempt at Migrate, both of which returns the 'not valid ioc file' error), and the .ioc file used. Please let me know if additional details or documents are needed. Best regards,-Aaron Wheeler
Hi everyone,I'm new to STM32CubeIDE and working on integrating an ONNX model. I have generated the C code for the model using STM32CUBEMX on the STM32F746NGHx and noticed that the main function includes functions like: MX_X_CUBE_AI_Init(); MX_X_CUBE_AI_Process();However, this differs from the default main function mentioned in the document. void main_loop() { aiInit(); while (1) { /* 1 - Acquire, pre-process and fill the input buffers */ acquire_and_process_data(in_data); /* 2 - Call inference engine */ aiRun(in_data, out_data); /* 3 - Post-process the predictions */ post_process(out_data); } aiDeinit(); } I'm unable to find these functions in the generated code. (using the latest versions)I want to:Understand the flow of the generated code, especially how the inputs are processed.Test the model with different inputs.Measure the number of cycles taken for execution with varying inputs.When I build the code, I get an output. STMi
Hi,I want to generate code and project files for MDK-ARM and STM32CubeIDE.For this I created a new directory and copied the .ioc file into it and opened it it with CubeMx (latest version 6.13).In the projectmanager/project the following directory structure is shown now: If I now change the toolchain / IDE e.g. to STM32CubeIDE and back to MDK-ARM, CubeMx adds the project name to the Toolchain Folder Location.If I now hit the "Generate Code" button, a new directory with the project name is created containing the toolchain directory with the project configuration files.For example if I select the STM32 IDE toolchain/IDE the following directory structure is created#I don't want that Toolchain/IDE directory is created inside the <projectname> directory.I wonder if this is new in 6.13 because a couple of weeks before when I first generated code with 6.12 the following directory structure has been created: Additionally, after Code Gen the project is automatically im
Hi, I'm using STM32CubeMX 6.13.0 and MCU STM32H753VITx.When initializing the SDMMC1, I am missing the call to function HAL_SD_Init. void MX_SDMMC1_SD_Init(void) { /* USER CODE BEGIN SDMMC1_Init 0 */ /* USER CODE END SDMMC1_Init 0 */ /* USER CODE BEGIN SDMMC1_Init 1 */ /* USER CODE END SDMMC1_Init 1 */ hsd1.Instance = SDMMC1; hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; hsd1.Init.BusWide = SDMMC_BUS_WIDE_4B; hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; hsd1.Init.ClockDiv = 3; /* USER CODE BEGIN SDMMC1_Init 2 */ /* USER CODE END SDMMC1_Init 2 */ } Is it a bug? I expected someting like: void MX_SDMMC1_SD_Init(void) { /* USER CODE BEGIN SDMMC1_Init 0 */ /* USER CODE END SDMMC1_Init 0 */ /* USER CODE BEGIN SDMMC1_Init 1 */ /* USER CODE END SDMMC1_Init 1 */ hsd1.Instance = SDMMC1; hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; hsd1.Init
I'm unable to add the Mongoose HTTP Library as a Third_Party Middleware and then generate code. How can I fix this?- Create project for NUCLEO-G474RE- Generate Code (Makefile) - working- Copy unpacked mongoose source code (https://github.com/cesanta/mongoose/archive/refs/tags/7.12.zip) to Middlewares/Third_Party/mongoose- Generate Code (Makefile) - now hanging forever, doesn't work anymore to generate code
I have a project I setup using STM32CubeMX v6.12.0 when I open the .ioc file in the current IDE I am prompted to migrate v6.13.0If I do this, next time I generate code the comment style of the generated code has changed from: /** * @brief The application entry point. * @retval int */ to: /** * @brief The application entry point. * @retval int */ This is just a minor thing (the indentation has changed) but just wanted to know this was a deliberate change and I might as well update my own functions to have a matching style?
Trying to to set up RTC alarm for STM32U5G9 I come across this CubeMX issues:There is no option to disable Calendar date and time setup. Needless to say, probably it does not make any sense to set up date and time on every board reset if it has (as it should) some RTC battery backup.It is not a big deal until one configures RTC alarm, function "return" statement can be added in MX_RTC_Init() 'user code' section before date/time gets reconfigured.However, this is not an option when RTC alarm is configured because code execution needs to reach this part resetting time and date along the way.Another reason for that is the lack of 'user code' between date/time setup and alarm setup sections in generated code. Otherwise, label and goto statement could be used to skip date/time setup.I find lack of an option to disable date/time config very annoying. Probably this feature was never implemented because originally CubeMX was meant only to generate "quick and dirty" demo code so it did not
Follow on from:https://community.st.com/t5/stm32cubemx-mcus/how-to-have-cubemx-configure-a-peripheral-but-not-enable-it/m-p/761692/highlight/true#M30801 To be able to configure the RTC Alarm in CubeMX, you have to enable it in CubeMX.This means that all the configuration - of both the RTC itself, and the alarm - will be done in the MX_RTC_Init function - whereas I'd have thought it more likely that you'd want to configure and start the RTC itself separately from setting an alarm?ie, you configure & start the RTC at startup, but you don't set the Alarm until some time later - when it's needed.Is there a way to do that in CubeMX ?(I'm using F0, but this seems to be general Cube MX behaviour - not specific to any series)
Hi everyone!Possibly I'm not able to see the right parameter to modify and so I hope there is an easy answer to my question. I'm working with the STM32CubeIDE with a project to begin to test how ADC works for STM32G474RE. I'm working with the graphical configurator (I think it is the old STM32CubeMX integrated into the STM32CubeIDE). I'm trying to select the PLLP input clock for the ADC12 in the Clock Configuration page. I think it should be performed by mean of an ADC12 clock mux. That mux should be set to select between SYSCLK and PLLP clock inputs. But I was not able to do that. Even changing the ADC1 parameters in all way possible then I couldn't accomplish that task. It seems that only SYSCLK is available. Does anybody experienced the same? How did you resolve it?
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.