Ask questions on STM32CubeMX. Discuss code generation and configuration challenges, among other topics.
Most recent activity
Hi all,I'm developping an application under system workbench for STM32. The compilation works fine, but when it comes to the Linker I get the following output : 16:08:46 **** Incremental Build of configuration Release for project Firmware **** make all Building target: Firmware.elf Invoking: MCU GCC Linker arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -specs=nosys.specs -specs=nano.specs -T"../STM32F412ZETx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -o "Firmware.elf" @"objects.list" -lm Src/main.o: In function `main': D:\dev\AEL_FW\Firmware\Release/../Src/main.c:119: undefined reference to `MX_USB_DEVICE_Init' Src/stm32f4xx_it.o: In function `OTG_FS_IRQHandler': D:\dev\AEL_FW\Firmware\Release/../Src/stm32f4xx_it.c:282: undefined reference to `hpcd_USB_OTG_FS' collect2.exe: error: ld returned 1 exit status make: *** [Firmware.elf] Error 1 makefile:43: recipe for target 'Firmware.elf' failed 16:08:47 Build Finished (took 981ms)I've tried to tra
I am trying to use the Eclipse Cube MX plug-in to create a project, generate code, write my application code and run and test it on my board.I have installed STM32CubeMX (v5.1.0) plug-in in Eclipse (v4.19.0).The STM32CubeMX is visible in my perspectives but I am unable to use it to create any projects using the tool. I have attached a screenshot of how the window looks when I open the CubeMX perspective. The "File" tab is missing. Have I missed anything during the installation or are there any versioning constraints that the MX tool is only compatible with certain versions of Eclipse?Looking forward to your support.
Hi!I cannot change Application Structure from "Basic" to "Advanced". Same posts (post1, post2 ) did not solve the problem.
I have a STM32H755 board, and it works with cube AWS expansion.https://www.st.com/en/embedded-software/x-cube-aws.htmlNow I want port all the AWS related code to my customize board which based on STM32H7B3 (I only need the CM7 parts). But I found the cubeMx expansion code is very different with the code generated for CubeMX.May I know what is the best way to get the AWS IoT working on a different EVK board rather than STM32H755?ThanksIvan
STM32H755iit STM32H7STM32CubeMX - STM32 Device Configuration ToolVersion: 6.2.0-RC3 Build: 20210219-1602 (UTC)STM32Cube FW_H7 V1.9.0STM32CubeIDE - C/C++ Embedded Development Tools for MCUVersion: 1.6.0.202101291314STM32H755 dualcore, I can't start USB_HOST on both cores at the same timeWhen I boot on core CM4 HOST USB HID at the same time and boot on come CM7 HOST USB MSC, there is a conflict with USBH_StatusTypeDef USBH_Init (..); (usbh_core.c) this is executed twice.both core link to these Core files.Is this a bug, or do I have to fix it with an HSEM handler
l have initialized the Micron MT25TL01G QSPI chip with the BSP_QSPI_Init() function. I am able to read, write, and erase data to the QSPI using the underlying MT25TL01G functions beneath the BSP. Whenever l remove the BSP initialization l don't receive an output from MT25TL01G_ReadDTR().This may sound silly, but doesn't CubeMx initialize the QSPI Chip with HAL_QSPI_Init? Could this be an QSPI_MspInit() vs HAL_QSPI_MspInit() configuration issue? Parameters: /* QUADSPI parameter configuration*/ hqspi.Instance = QUADSPI; hqspi.Init.ClockPrescaler = 2; hqspi.Init.FifoThreshold = 4; hqspi.Init.SampleShifting = QSPI_SAMPLE_SHIFTING_HALFCYCLE; hqspi.Init.FlashSize = 25; hqspi.Init.ChipSelectHighTime = QSPI_CS_HIGH_TIME_2_CYCLE; hqspi.Init.ClockMode = QSPI_CLOCK_MODE_0; hqspi.Init.FlashID = QSPI_FLASH_ID_1; hqspi.Init.DualFlash = QSPI_DUALFLASH_DISABLE; if (HAL_QSPI_Init(&hqspi) != HAL_OK) { Error_Handler(); } 
it is similar to https://community.st.com/s/question/0D53W00000bfw14SAA/hrtim1-interrupt-request-source-does-not-produce-the-correct-code-for-hrtimethe generated code ispTimerCfg.InterruptRequests = HRTIM_MASTER_IT_NONE;Here is the IOC file.
While Editing USER_LABEL on GPIO Configuration window facing the following issueneed to set common word for particular GPIO likePC0 ----> USER1_KEYPC1 ----> USER2_KEYPC3 ----> USER3_KEYPC4 ----> USER4_KEYnow i'm selecting all the GPIO in group selection then adding the USER_LABEL as _KEYits workingthen i'm trying to select the individual pins and adding the remaining label names like_KEY to USER1_KEY, in this situation what happens is after selecting the GPIO ping and at the bottom USER_LABEL editing text box, i'm placing the cursor at the start of "_KEY" then start to type USER1, but cursor automatically moves to end of text after single key pressingi'm not able to complete the USER1_KEY since at every key type cursor automatically moves to endbut if i'm typing fresh then i can type whole word without any problemKindly correct this minor issue
Hi,I'm using a STM32L100RC discovery board for a project. I'm trying to communicate with the USB port (Communication Device Class). After configuring the USB and USB_DEVICE part with STM32CubeMX, I have the following errors on Keil : .\Objects\Keil_TEST.axf: Error: L6218E: Undefined symbol hpcd_USB_FS (referred from stm32l1xx_it.o).Not enough information to list image symbols.Not enough information to list load addresses in the image map.Finished: 2 information, 0 warning and 2 error messages."I tried to add "extern PCD_HandleTypeDef hpcd_USB_FS;" in the file stm32l1xx_it.c. and the header "usbd_conf.h" but it still doesn't work.Does anyone know how to solve this issue? Thank you in advance,Jay.
STM32CubeMX v6.2.1 emits the following line of code in function HAL_SMBUS_Init() in file stm32f4xx_hal_smbus.c:MODIFY_REG(hsmbus->Instance->CR1, (I2C_CR1_NOSTRETCH | I2C_CR1_ENGC | I2C_CR1_PEC | I2C_CR1_ENARP | I2C_CR1_SMBTYPE | I2C_CR1_SMBUS), (hsmbus->Init.NoStretchMode | hsmbus->Init.GeneralCallMode | hsmbus->Init.PacketErrorCheckMode | hsmbus->Init.PeripheralMode));Isn't is a bug to use the constant I2C_CR1_PEC in this place? I would think is should be I2C_CR1_ENPEC instead.
I am using STM32F091RBT6, in which I have 8Mhz internal clock and I have to configured it to the 48Mhz. I have selected PLL as a System clock source but its not getting configured to 48MHz. As I have debugged it, its getting configured to only up to 44MHz. If I try to configure it to 48MHz, code gets stuck.Below is my configuration.void fnSystemClockInit(void) { RCC_ClocksTypeDef pointer; RCC_PCLKConfig(RCC_HCLK_Div1); // PCLK prescaler RCC_HCLKConfig(RCC_SYSCLK_Div1); // HCLK prescaler RCC_DeInit(); // Internal 8 Mhz clock RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // Set PLL as system clock RCC_ITConfig(RCC_IT_PLLRDY, ENABLE); // Enable PLL flag RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_CFGR_PLLMUL11); // Config PLL params RCC_PLLCmd(ENABLE); // Enable PLL while ((RCC_GetFlagStatus(RCC_FLAG_PLLRDY)) != SET) ; // wait while PLL is stable RCC_ClearITPendingBit(RCC_IT_PLLRDY); // Clear the PLL flag SystemCoreClockUpdate(); //update core cloc
Using STM32F469 DISO and STM32F469VGT6 LQFP package for our board. The device to be interfaced with STM32F469 SPI port has the following pin outs Serial data input/output pin1 Serial data input pin2 Serial interface clock pin Chip select
I have been following this discussion: https://community.st.com/s/question/0D50X0000AIclNC/nucleoh743zi-stm32h7-400mhz-stm32cubemx-will-not-configure-to-400mhzAs when I create a project for the Nucleo-H743ZI2 I have to set the clock, and the auto generator makes the speed slow.I followed the discussions method on how to increase the speed and I get the same results. But I can't save as an error appears. It says DCPRE1 has a max frequency of 480MhZ, but when I have it set to 400MHz an error appears saying it must be <=350Mhz. The same happens for the HCLCK but the error says <=150Mhz instead. I have attached a screenshot of what I have and my set up.Is this a bug or am I not able to increase the clock performance from the initial auto generated speeds?
Hello,I want to activate three output compare interrupts in my timer peripheral. I want to use Output Compare for this purpose because then I can change the time. However, in STM32CubeMx there is a button to activate a global TIM2 interrupt, but there is no output compare interrupt. Even when I activate the output compare. Am I missing something?
Posted on January 02, 2018 at 12:18 Hi all, Recently I use STM32CubeMX Ver 4.0 (STMCube V1.0), firmware V1.18 to generate codes for STM32F407 by using SDIO 4-bit bus to access SD card via DMA or standard IO. The generated codes could not function probably. In order to make it work, you have to modify three files generated by STM32CubeMX: 1. bsp_driver_sd.c 2. sd_diskio.c 3. fatfs.c Here are the procedures: 1. bsp_driver_sd.c Modify the BSP_SD_WriteBlocks() and BSP_SD_ReadBlocks_DMA() to support DMA or standard I/O: // A flag indicating if to use DMA for read/write uint8_t BSP_SD_Ext_UseDMA = 1; /*========================================================================== Description DMA or polling mode of Reads block(s) from a specified address in an SD card * @param pData: Pointer to the buffer that will contain the data to transmit * @param ReadAddr: Address from where data is to be read * @param NumOfBlocks: Number of SD blocks to read * @param Timeout:
i want to use STM32F103ZE-SK development kit with STM32CubeMX, but i'm unable to locate it in STM32 editor. Please guide me.Regards
IN RTC Code ,the structure of time , it is not that the variable day is not designed.
HiWhy is FreeRTOS not working?Andrzej
Please make possibility to create projects from CubeMX with composite USB device configured. I've spent about 10 days to create MSC+CDC device for stm32f7 and unfortunately failed.Screenshot is attached.
Hello everyone,I'd like to use a NUCLEO-G474RE to control a buck converter in current mode. To do that I work with STM32CubeMX and Simulink, and I need to use a comparator. My problem is that whatever the input configuration I choose on CubeMX and the voltage I apply on the pins the output is always zero. After searching into mthe generated code I discovered that the function HAL_COMP_Init is called but HAL_COMP_Start isn't . This is understandable because there aren't any COMP block in my Simulink model but the problem is that these blocks don't exist. So is it possible to generate the full functionning code to drive the comparator with this workflow?I know I could probably add a few lines in the already generated code, but I would like to share my work only through the Simulink and CubeMX files without any need for the users to code by themselves.
Hello all,I am having severe issues trying to compile and getting to work a blink LED example on Simulink using the STM32-MAT/Target version 5.6.At first, I was trying the example on the hands on documentation of the STM32-MAT/Target. Which is blinking a LED using Timers 1, 6, and the pushbutton on my Nucleo board (Nucleo-F767ZI). I was using version 1.6.1 of the STM32CubeIDE, version 6.2 of STMCubeMX, MATLAB/Simulink version 2020B and windows 10.I wasn't able to create a .project file for the IDE until I downloaded Java version 8.45 which correctly linked everything together I assume. However, when it came to building the project, I was getting several errors about undeclared functions and variables that I wasn't able to figure out.I decided to look deeper into the documentation for the STM32-MAT/Target and looked at the last supported software for it (version 5.6 of CubeMX , 1.3 of CubeIDE, and MATLAB/Simulink 2018B). I rolled back the software to those versions thinking it might sol
I would like to get an clear answer about how I can support an eMMC Flash with FatFS on an STM32 (F4xx, F7xx, H7xx).It seems that STM32CubeMX doesn't want to generate a driver when the SDMMC controller is configured in MMC mode.Maybe there is another way outside of STM32Cube? Does ST provide necessary driver code to do that?
In my project I want to use custom heap functions.To do this, I set the "Use FW pack heap file" option in the FreeRTOS settings, to "Disable".Despite this, the code generator still adds the package heap file (heap_4.c) to the list of files to compile.When linking a project, it conflicts with the custom memory allocation functions in my project.Cube is v6.2.1 (with last updates), FreeRTOS v10.0.1A bug demonstration project is in the attachment
Hi,I want to test the VL53L0x arduino board connected to the NUCLEO-G474RE.How to configure STM32CubeMX to generate a project for the G474 that includes the VL53L0x library?
I want to use uart4_tx and sdio at the same time.But, in cubemx(6.2.1),SDIO->Mode: SD 1 bitUART4->Mode: only Disable.
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.