Ask questions on STM32CubeMX. Discuss code generation and configuration challenges, among other topics.
Most recent activity
Hello,I have been observing this issue with previous as well as latest STM32CubeMX versions, wherein the generated MDK-ARM (minimum version 5.27) project file (UVPROJX) has incorrect value set to Options for Target -> Target -> Xtal (MHz).In the IOC file I have informed that used XTAL value is 25 MHz.In Clock configuration, I have set SYSCLK to 480 MHz and D1CPRE Prescaler to Divide by 1. thus FCLK is 480 MHz.STM32CubeMX copying SYSCLK value to Xtal (MHz) is a BUG.Please fix the bug.Regards,@rxa1031
I'd like to report a bug in the CubeMX software. I disable the DMA global interrupts by unchecking the "Enabled" boxes in the NVIC menu. Code generation works fine. However when I close CubeMX and reopen the project .ioc file, the boxes are checked again and DMA global interrupts are enabled. I have to manually uncheck the boxes everytime I reopen the project.I have only tested this with the STM32G474 package. I've seen the settings persistence problem only for DMA global interrupts. It seems to work fine for all others (TIM, FDCAN, ADC, COMP, ...)
USB HS PHY is quite confusing and i am not able to find out if i can use STM32F723VC (LQFP100) staight from the chip as a USB HS Device. Documentation says: "an USB OTG full-speed and a USB OTG high-speed with full-speed capability (with the ULPI only for the LQFP64 and LQFP100 packages and with the integrated HS PHY for the LQFP144 and UFBGA176 packages)" So that tells me somehow that the HS PHY is only available in the 144 and 176 packages, but CubeMX gives me the option to configure the USB HS with internal PHY. And the pinnout for the LQFP100 housing also give the impression that HS PHY is available. Also that this Chip even exists gives a hint that it has a builtin PHY, otherwise it would be a STM32F722VC.If it has a PHY then this text in the documentation is quite confusing. Or are they just talking about the Full speed capability of the HS part? But this seems like novadays a negligable detail which should not be in the short high level description.
Hi, I use LWIP to establish a connection, We want to change the IP address, how can I update IP? tcpip_init( NULL, NULL ); /* IP addresses initialization without DHCP (IPv4) */ IP4_ADDR(&ipaddr, IP_ADDRESS[0], IP_ADDRESS[1], IP_ADDRESS[2], IP_ADDRESS[3]); IP4_ADDR(&netmask, NETMASK_ADDRESS[0], NETMASK_ADDRESS[1] , NETMASK_ADDRESS[2], NETMASK_ADDRESS[3]); IP4_ADDR(&gw, GATEWAY_ADDRESS[0], GATEWAY_ADDRESS[1], GATEWAY_ADDRESS[2], GATEWAY_ADDRESS[3]); /* add the network interface (IPv4/IPv6) with RTOS */ netif_add(&gnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &tcpip_input); /* Registers the default network interface */ netif_set_default(&gnetif); if (netif_is_link_up(&gnetif)) { /* When the netif is fully configured this function must be called */ netif_set_up(&gnetif); } else { /* When the netif link is down this function must be called */ netif_set_down(&gnetif); }I used to remove
Today I started my Stm32CubeIDE and I tried to create a new project. It refreshed itself, and after that I couldn't save ioc, and I couldn't switch to another .h or .c files. I had to kick out this application by task manager. I use Debian Linux & Java 14 version in my computer. Before this refresh I can used application without any problem, it means the refresh seems buggy. The new version of Stm32CubeIDE is 1.4.0 thx,Zoltan Zidarics
STM32F4x7 in-application programming (IAP) over Ethernet based on LwIP TCP/IP stack (AN3968), it is possible to realize this with stm32cubemx. Maybe there are manuals like this done through STM32CubeMX?
I've had some issues to calculate the correct VREF+ voltage for the ADC on an STM32L476RGT6 MCU. After some investigation, I isolated the cause to be that I called `HAL_ADC_DeInit()` on ADC2 after I used it during setup before the main loop. If I just remove the call to `HAL_ADC_DeInit(&hadc2);`, ADC1 reads the vrefint channel correctly.Any ideas? I can just keep ADC2 initialized, but the application will need to consume as little power as possible, since it will be powered by a battery and solar panel. Is deinitializing the ADC actually going to save power, or doesn't it matter?Attached are the main.c and stm32l4xx_hal_msp.c files for my minimal reproduction project. If I comment the call to `HAL_ADC_DeInit(&hadc2)` on line 132 of main.c, vrefint is read correctly. If I just add that line back and change nothing else, vrefint reads 2-3x too low.
I want to use circular DMA to receive data of unknown length on 4 uarts of STM32F730R8, but I receive data just on first two of them. Transmission works and I use HAL library. Code is generated by MX configuration tool and all uarts are configured identically.HAL_UART_Receive_DMA(&huart1,readBuffer,sizeof(readBuffer)); HAL_UART_Receive_DMA(&huart2,debgBuffer,sizeof(debgBuffer)); HAL_UART_Receive_DMA(&huart3,Buffer1,sizeof(Buffer1)); HAL_UART_Receive_DMA(&huart4,Buffer2,sizeof(Buffer2)); HAL_UART_Receive_DMA(&huart6,Buffer3,sizeof(Buffer3)); HAL_UART_Transmit(&huart1, (uint8_t *)&"\nHello mr. Freeman", 18, 0xFFFF); HAL_UART_Transmit(&huart2, (uint8_t *)&"\nHello mr. Freeman", 18, 0xFFFF); HAL_UART_Transmit(&huart3, (uint8_t *)&"\nHello mr. Freeman", 18, 0xFFFF); HAL_UART_Transmit(&huart4, (uint8_t *)&"\nHello mr. Freeman", 18, 0xFFFF); HAL_UART_Transmit(&huart6, (uint8_t *)&"\nHello mr. Freeman", 18, 0xFFFF); /
I've got a NUCLEO-L073RZ, STM32CubeIDE and CubeMX are installed (locally on Linux).In CubeIDE, I've installed the MCU package for STM32L0 (Help > Manage Embedded Software Packages).I can even see that it has created a "Repository" directory and the STM32L0 files (examples etc) are all there.However, whenever I open the STM32 Target Selector (from either CubeMX or CubeIDE) and select the NUCLEO-L073RZ board, there are no examples for that board in the Example Selector.I just want to be able to play around with the various different examples etc that are provided for this board as part of the MCU package, instead I've got nothing.Help please!
Hello,Is it possibile to add four or more filters ? thanks in advance
I have started from the command line so I can see errors. It starts up ok but when I try to create a new project using "ACCESS TO MCU SELECTOR" it throws the error:Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: com.st.microxplorer.mcufinder.gui.selector.MultiSelectorDialog.<init>(Ljava/awt/Frame;Ljava/lang/String;Ljava/awt/Image;)V at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userNewConfig(MainFileManager.java:118) at com.st.microxplorer.plugins.filemanager.FileManagerView.getSpecificTask(FileManagerView.java:213) at com.st.microxplorer.maingui.HomeNewTaskLinePanel.jButtonNewConfigurationMCUActionPerformed(HomeNewTaskLinePanel.java:117) at com.st.microxplorer.maingui.HomeNewTaskLinePanel.actionPerformed(HomeNewTaskLinePanel.java:77) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPe
Hi,I generated the code from CubeMX 5.3 for STM32F401.But, following error are listedC:\Users\SS\AppData\Local\Temp\ccxlOu12.s:295: Error: selected processor does not support `dsb 0xF' in Thumb modeDrivers/STM32F4xx_HAL_Driver/Src/subdir.mk:60: recipe for target 'Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.o' failedC:\Users\SS\AppData\Local\Temp\ccxlOu12.s:306: Error: selected processor does not support `isb 0xF' in Thumb modeC:\Users\SS\AppData\Local\Temp\ccxlOu12.s:350: Error: selected processor does not support `dsb 0xF' in Thumb modeC:\Users\SS\AppData\Local\Temp\ccxlOu12.s:371: Error: selected processor does not support `dsb 0xF' in Thumb modeC:\Users\SS\AppData\Local\Temp\ccxlOu12.s:492: Error: selected processor does not support `dmb 0xF' in Thumb modeC:\Users\SS\AppData\Local\Temp\ccxlOu12.s:555: Error: selected processor does not support `dsb 0xF' in Thumb modeC:\Users\SS\AppData\Local\Temp\ccxlOu12.s:566: Error: selected processor does not support `isb 0xF' in Thumb
here in cubemx there is a option called FIFO , please help me how to use the option in your code. If there is any tutorial or study (or) reference materials please kindly share that also.
I'm trying to use the CMSIS-Driver Interface to access Microcontroller Peripherals.As a starting point, i tried setting up an application with a simple goal: Transmit a byte using the USART Peripheral via CMSIS-Driver interface, which i can then use on several microcontrollers.I'm working with IAR Embedded Workbench and the included CMSIS-Manager to import and configure the components of the CMSIS-Pack starting with the STM32F100 which worked perfectly fine, since it's using the "RTE_Device.h" for configuration. Trying to use any other STM32 Controller, which uses STM32CubeMX (So far i tried the STM32F303 and the STM32L152) seems to not work well within this environment.I'm working with IAR Embedded Workbench and the included CMSIS-Manager to import and configure the components of the CMSIS-Pack starting with the STM32F100 which worked perfectly fine, since it's using the "RTE_Device.h" for configuration. Trying to use any other STM32 Controller, which uses STM32CubeMX (So far i tried
Hi, I am working with my students on a GaN Amplifier. The HRTIM makes the PWM, while the ADCs 1,2,3,4 are converting 2 analog signals each with their injected channels. The ADCs are triggered by an event of the HRTIM with 1MHz. I have created the code using STM32 Cube MX Version 5.3.0. The Toolchain is MDK ARM V5. Result: The GPIO Pins of ADC1 are generated correctly. But in the initialization code MX_ADC2_Init(); MX_ADC3_Init(); and MX_ADC4_Init(); of ADC 2,3,4 I am missing the initialization of the GPIO Pins. I have added the project as a zip file (except the driver files), please have a look at Gan_Amp_V1.ioc and /src/Adc.c. Second thing: The microcontroller STM32G474 runs with 170 MHz but the ADC is limited to 60 MHz. The Clock generation of the ADC must be done hand coded. In the Cube there is a tab for the clock tree. I suggest that you should place the ADC clock deinition in this tab. In addition there should be a warining if yout overclock the ADCs. Thanks, Karl-Die
I'm using SDIO - DMA to read/write with uSD card. In 1 bit mode, it work fine. But in 4 bit mode, mcu cannot mount to sd card. It appears FR_DISK_ERR. I've update to newest version of CubeMX but it still not fix. Does anyone know how to fix this ?
..
STM32CubeIDE 1.4.2 Device Configuration Tool warns me about HSE value and USB HS when there is only USB FS activated. My ioc file in attachment.
Hello,I'm learning DMA and using CubeMX to generate the configuration codes and SystemWorkbench(Eclipse) as editor to edit my application.To better grasp the concept of DMA I'm doing a small project in which I use USART in combination with DMA to read some data from the PC's terminal and reply from the code according to 3 situations. Here is how the project is supposed to work:1) I send some data from the PC via Terra Term and ask a question: For this I have configured DMA1 Stream 5 as Peripheral to Memory and USART2_RX as DMA request.2) According to what text I receive I send some data back via the USART to the PC and print some stuff on the terminal. For this I have configured DMA1 Stream 6 as Memory to Peripheral and USART2_TX serves as DMA request.The problem I encountered is at step 1:In my application code I have defined a function: 'cmplt_DMA_Receive' which I intended to use as complete DMA receive callback in my application where I would write my logic.So I did this:hdma_usar
I have a base application, that will go into different product variants. I'd like to have a variant where some of the CUBEMX code is not compiled. As an example, one build where USB or Ethernet code is not included, because there won't even be HW on that model. Has anyone done this before? I'm not seeing an obvious way to do this that won't just get deleted if I re-generate code...
I built the stm32cubemx development environment using eclipse, and this error occurred while generating the code. What is the problem?
Hello,I had earlier raised the concern on STM32CubeH7 GitHub page ( https://github.com/STMicroelectronics/STM32CubeH7/issues/69 ). However they asked me to raise the concern on this forum.I am observing following function calls missing from MX_UART8_Init() function, even when ClockPrescaler, FIFO Mode Disabled, etc. are defined:UART_InitStruct.PrescalerValue = LL_USART_PRESCALER_DIV10; LL_USART_SetTXFIFOThreshold(UART8, LL_USART_FIFOTHRESHOLD_1_8); LL_USART_SetRXFIFOThreshold(UART8, LL_USART_FIFOTHRESHOLD_1_8); LL_USART_DisableFIFO(UART8);Please refer to attached snippet which shows settings used in STM32CubeMX.Please help with a fix.Thanks,Rajeev
I'm using HRTIM in STM32G474 device in STM32cubeIDE and can't find a way to not get a call to HAL_HRTIM_FaultBlankingConfigAndEnable() function in initialisation, that enables blanking by default. I don't want blanking for FAULT inputs, but IDE (or CubeMX) doesn't offer an option to disable blanking (or I just can't find it).Thank you for your suggestions in advance.Regards
Windows 10 64bit - STM32CubeMX 6.0.1 - STM32H7B3LIHxQ MCUAttempting to generate a fresh project and get the below error. Any thoughts on how to resolve the issue? project file attached. Thanks!
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.