Ask questions on STM32CubeMX. Discuss code generation and configuration challenges, among other topics.
Most recent activity
Hi,The actual version of STMCubeIDE has a horrible performance bug, when I change any IP in the MX view. When I change something, it needs min 30 seconds up to 90 seconds A simple activation of CRC IP needs ~35 seconds. This happens with 2 different computers. One is with a 4.2GHz, 6 core CPU and the other is with 4 Core, 3GHz CPU. During wait there is no action in CPU load. The load changes depend on the system between 5-15% on one CPU core. The other cores are sleeping.When I use the STMCubeMX to change the configuration, then its running very fast. The same job needs 1-2 seconds sometimes less than 1 second.Please fix the bug.Best regards,Osto
Specifically I'm using the H743BI and am connecting ADC1_AWD1 to timer1's ETR using the hal function HAL_TIMEx_RemapConfig to do this. I should be able to do this in Cube but I cannot discover the setting to do this. Thoughts?
Hello,does anyone have experience with using SDMMC1 (1 bit-mode) and FatFs with enabled dma template on a STM32H730VBTx controller?Without dma template I got it working (but it is requiered for FreeRtos)I am using CubeMx in Version 6.1.1Sorry, I am not able to upload scrennshots (?!)Settings:FatFs:· SDMMC1· Use dma template enabledSDMMC1· SD 1 bitMDMA· Channel 1· Transfer 1· MDMA request: SDMMC1 data endThats it.Result is: Returns FR_DISK_ERR from following lineFRESULT fresult = f_mount(&FatFs, "0:", 1);Please let me know if further information is neededRegards Marcus
I am trying tio use DMA on 3 different channels under DMA. The cube configurator seems to be incorrecta) It does not see that an ADC is configured and make it greenb) The code produced does not clear the DMA Half Complete interrupt c) The IDE configurator blocks some valid configurationsd) The IDE does not switch cleanly from .ioc to .c files, one has to click., click OK twice under Ubuntue) UM1570 user manual no longer provides ADC information in the pin tables. ADC is the primary reason one wants to use this (F3) devicef) There are no longer any examples using the magnetometerg) Intermittent HARD FAULT errors on this, F4 Disco0 and F4 Discovery boards. e.g. The BSP example causes a Hard Fault on the F4Disco0 on every startup BEFORE geting to the star of main.h) Very few of the examples provide a working example with an .ioc file that can then be built on.i) F4Disco0 new project does not offer to initialise all peripherals as the F3 Disocvery board does and previous versions of the ID
Hello everyone,Using a custom board designed by myself, I can't manage to program the content of an S29GL064S NOR Flash. I'm pretty confident with the schematics and layout as, when calling the functionHAL_NOR_Read_ID(&hnor1, &NOR_Id)I get the following result These values seem to match what's expected according to the NOR Flash datasheet (link here)When I try to program the memory content using the small piece of code written here:#define NOR_MEMORY_ADRESS1 ((uint32_t)0x60000000) int main(void) { /* USER CODE BEGIN 1 */ uint32_t Address = 0; uint16_t ReadData = 0; uint32_t ii=0; uint16_t WriteData =0; uint16_t *pWriteData = &WriteData; uint16_t *pReadData = &ReadData; uint32_t *pAddress = &Address; /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */
volatile uint32_t udwIC1_Val1 = 0;volatile uint32_t udwIC2_Val1 = 0;volatile uint16_t uwDuty_Cycle = 0;void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef* htim){ if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1) { udwIC1_Val1 = htim->Instance->CCR1; udwIC2_Val1 = htim->Instance->CCR2; uwDuty_Cycle = (udwIC2_Val1 * 100) / udwIC1_Val1; udwFrequency = HAL_RCC_GetPCLK1Freq() / udwIC1_Val1 / htim->Instance->PSC; }}
Good day! when starting STM32CubeIDE, here are the bugs, how to fix it? launched on behalf of the user and on behalf of the administrator, the result is the same.
Hello,I have configured an External flash for the F412 chip. So I modified the STM32F412RETX_FLASH.ld like this:MEMORY { RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 256K FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 512K QUADSPI (r) : ORIGIN = 0x90000000, LENGTH = 4M } ... ... ... .ARM.attributes 0 : { *(.ARM.attributes) } ExtFlashSection : { *(ExtFlashSection ExtFlashSection.*) *(.gnu.linkonce.r.*) . = ALIGN(0x4); } >QUADSPI }Configured the QSPi for the memory-mapped and assigned an array like this to the external flash:#define LOCATION_EXTFLASH_ATTRIBUTE __attribute__ ((section ("ExtFlashSection"))) __attribute__ ((aligned(4))) uint8_t logo_143x78_map[] LOCATION_EXTFLASH_ATTRIBUTE = { /*Pixel format: Red: 5 bit, Green: 6 bit, Blue: 5 bit*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
Hello,I'm porting code from STM32F072 to STM32F103. In F0 I had a option in CubeMX to invert UART Tx pin polarity and it worked very well. I do not have this option in F103's. Is there any way to invert polarity in this uC?BR, Daniel
We are using the old style of MCU development in our current project. The project uses Keil STM32 MCU configuration already. A lot of configurations are done by the header file. How do I import this MCU-specific pin out from the existing sources?We are planning to migrate to STM32F427ZIT6 MCU, in order to port to the new MCU, first, we would like to migrate the existing MCU code CubeMX compatible project so that we can easily switch between different MCU versions.I come across the STMSPL2LL tool, but the current project we are not even using the SPL library.Any hints or suggestion is to this port very much appreciatable.Looking forward to seeing your suggestions.
TM32Cube ver 1.6.1 MX ver 6.2.1 with STM32Cube_FW_H7_V1.9.0 - select Nucleo-H753ZI with default configuration and generate new project - add some activity like HAL_GPIO_WritePin(GPIOB, LD3_Pin, GPIO_PIN_SET); HAL_Delay(1000); HAL_GPIO_WritePin(GPIOB, LD3_Pin, GPIO_PIN_RESET); HAL_Delay(1000); in while loop ( after USER CODE BEGIN 3). NOT WORKING From debug, system hangs up in MX_USART3_UART_Init() ==> HAL_UART_Init() ==> UART_CheckIdleState() ==> UART_WaitOnFlagUntilTimeout() ... Disable USART3 and it works.Or change UART clock to 8M (automatic clock fixing gives 32M) and it works.Please fix it.Mike Bargauan
As we know STM32CubeMX support multiple IDEs:STM32 Cube IDEIARKeilI am in midst to decide which one to use. I find this is crucial decision as this would be one used throughout development till production and I don't want to waste time due to toolchains switch.So far, I use STM32 Cube IDE. I like its integration to CubeMX but as an editor, the look and feel is not to my taste. As for IAR, I just recently tried it. As an editor I prefer this to CubeMX. But it needs license to build as compare to free in CubeIDE. But what else the advantages?As for Keil, I have not tried, but could anyone share the main benefit for Keil IDE?
The ADC in stm32cubemx will throw a warning in All three ADC's while using a USB_OTG_HS. No matter what i try the error won't go away? Has anyone experienced this?? Will it cause any trouble in functioning of ADC?
Hello Folks,I want to decode my IR remote code or I want to know which IR protocol is used in my IR remote.MCU:- STM32f103IDE:- STM32CUBEMX, u Vision Keil.TSOP as IR receiver.Kindly guide me how is it possible?Thank you!!!
STM32CubeMX version 6.2.1, target STM3G474VE, CMSIS v2. If you create a time with "static" allocation, the "FreeRTOS Heap Usage" tab shows no heap usage by that timer. However, osTimerNew() always allocates the TimerCallback_t structure from the heap, even for "statically" allocated timers. So every timer uses at least 8 bytes of heap space.I haven't done a thorough look at CMSIS v1, but at a quick glance it appears to correctly statically allocate all memory for a "static" timer. At least as long as the config param "memory allocation" is set to "dynamic/Static".
Hi there, I am experimenting with the H747i-DISCO board to get the communication between two cores up and running. The mentioned example (github) is written for a slightly different board, the STM32H745-Discovery, so it should be not too difficult to adjust this example to the STM32H747-Discovery. But I am fairly new to the STM32 board and especially to the STM32CubeIDE. So, your advice will be highly appreciated!Greetings from Hannover, Germany!Johannes
Hello, when testing the SDcard on SDIO 1-bit interface , we see a big problem here:when card in slot, cpu stall in MX_SDMMC2_SD_Init() , on debug can see: card info sector count, block size etc. read seem ok, but then waiting for response -- forever. (timeout -1)SDclk set to 200/(4*2) MHz, 1-bit mode; tried different things: cache on/off, clk faster/slow, extra cap close to card holder, different cards, core volt.scale 0/1; now i am out of ideas, why it is not working. looked also H7A3 errata, but there i see no problem with SD .Stall/wait is here, in init : while (!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_DATAEND))so: what is wrong? do i something wrong? or is something missing?
How to implement this in UART+ DMA(no polling /or IRQ enabled methods) STM32cubeMX and IDE both?
Hi everyone,when using the CubeIDE 1.5.0 I encountered unexpected behaviour. I set up the Ethernet peripheral of the STM32H7 in a way that I have 14 Rx and 14 Tx ETH descriptors: However, after generation the code only specifies 4 descriptors each:At first, I suspected that these Macros might be overwritten somewhere else in the source code. But the compiled and linked program shows, that my CubeIDE settings were not correctly translated into the binary. Each DESC structure is 24 Bytes in size, so 24B*14=336B should be used in RAM. That's not the case:Manually overwriting the above shown macros in "stm32h7xx_hal_conf.h" gets the correct amount of bytes.Are there other settings that I have to take care of or might this be a bug in the generation tool?Thanks for your help
..
Processor stm32H750. stm32CubeMx ver. 6.2.1.When calling "HAL_DFSDM_ChannelDeInit" and "HAL_DFSDM_FilterDeInit".and then call "HAL_DFSDM_FilterInit" and "HAL_DFSDM_ChannelInit" the "__HAL_RCC_DFSDM1_CLK_ENABLE" is not called. (Result not clock for the filter). The problem is in "stm32h7xx_hal_msp.c" related to variable "HAL_RCC_DFSDM1_CLK_ENABLED" not counted down when disable is called.br. Poul-Erik.
Hi,With CubeMX I can adjust where the repositories are saved. This function is missing in CubeIDE and its also not using the same from CubeMX.Because the saved files are huge, then I get problem when I login/logout in the company. Because the files are saved in the user directory, the first login/logout needed more than 1 hour because windows want to synchronise with the servers profile and the CubeIDE files are in the profile. The same happens again when i update the device database. This need a change or is there any way to change it?At the other side, its without any reason to have the same files twice in the system!!?? Why both programms dont use the same data?Osto
Hello,I'm using STM32L433RCT-P nucleo board and I was testing some hardware. I noticed the baudrate error with LPUART1 is really high (135100 instead of 115200, 67570 instead of 57600).I have no problem using manual configuration instead of CubeMX, but, is there a way to obtain the chosen baudrate directly from CubeMX?Thanks!MF4
Hi.I am working with a STM32F030x8 microcontroller.I am using KEIL uVision5 version 6.2.0 to test some C code on the microcontroller.From what I understand, I need to generate a startup file in order to build the code properly.Without it I get: ERROR cannot find argument reset_handler.In order to generate a startup file for a STM32F030 project I needed to use the program: STM32CubeMX.Keil uVision5 requires a gpdsc file from STM32CubeMX, so I have selected: "Other Toolchains (gpdsc)" in the project settings under project manager.However as I click on "generate code", the program won't finish working and is stuck.I do not know how to fix this.Can you help me?
I created a new project for an STM32F407VE and when the code is generated CubeMX puts this in SystemClock_Config: /** Activate the Over-Drive mode */ if (HAL_PWREx_EnableOverDrive() != HAL_OK) { Error_Handler(); }When you try to compile it, it gets an error because HAL_PWREx_EnableOverDrive() is not defined!The whole SystemClock_Config is here:void SystemClock_Config(void){ RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Configure the main internal regulator output voltage */ __HAL_RCC_PWR_CLK_ENABLE(); __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.
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.