Ask questions on STM32CubeMX. Discuss code generation and configuration challenges, among other topics.
Most recent activity
Hi, I want to implement Free RTOS on SWTM32U575. When I am trying to configure it in the middleware but there is no options to enable Free RTOS. Is there a way to way to enable it ?
Hi, I have a NUCLEO-H7S3L8 and I think there is an addresses mistake in the .svd files and potentially other hardware description files.You can reproduce and see the mistake if you setup the SAI1_A and SAI1_B on CubeMX, generate the code and debug the program, you will see in the SFR widget of STM32CubeIDE (the .svd file) that it's the SAI2 registers configured instead.It also affects the CubeMX configuration of SAI, we can't set SAI1_A on Master and SAI1_B on Slave synchronous which is very annoying (image below). I'm not sure if it's the right place to report this, but I would really appreciate if you follow this issue on the right ST team.Thanks.
I was able to successfully install and launch CubeMX. However, I cannot download the packages. In my case I need the STM32CubeG0 firmware packages. When I download it manually and select "From Local" I get "Failed to create temporary directory". In ~/STMCube/Repository write permissions are granted. If I start CubeMX as root, then everything works. But I don't want to start CubeMX always as root. How do I fix this problem?
Hi all,I'm struggling for some time to get the CAN bus of my Evalboard (STM32H745I-DISCO) working. No matter how I configure the CAN bus in CubeMX, I always end up in the following error area and I don't know why: /* Check that the Tx FIFO/Queue has an allocated area into the RAM */ if ((hfdcan->Instance->TXBC & FDCAN_TXBC_TFQS) == 0U) { /* Update error code */ hfdcan->ErrorCode |= HAL_FDCAN_ERROR_PARAM; return HAL_ERROR; }First, my FDCAN initialization looks like this:static void MX_FDCAN1_Init(void) { hfdcan1.Instance = FDCAN1; hfdcan1.Init.FrameFormat = FDCAN_FRAME_CLASSIC; hfdcan1.Init.Mode = FDCAN_MODE_NORMAL; hfdcan1.Init.AutoRetransmission = ENABLE; hfdcan1.Init.TransmitPause = DISABLE; hfdcan1.Init.ProtocolException = DISABLE; hfdcan1.Init.NominalPrescaler = 12; hfdcan1.Init.NominalSyncJumpWidth = 1; hfdcan1.Init.NominalTimeSeg1 = 5; hfdcan1.Init.NominalTimeSeg2 = 2; hfdcan1.Init.DataPrescaler = 12; hfdcan1.Init.DataSyncJumpWidth = 1; hfdc
Hello,I tried exporting the symbol for STM32F733IET6 along with the pin naming through stm32cubemx(V6.10.0) but all i get is empty boxesI am using kicad v7. It's not a kicad problem because i've imported symbols recently with no issues. Am i doing something wrong?
hello! I start this post because i have created a new project with CUBEMX 6.12.0 and i am having some issues. When I generate code without THREAD X activated, the generation is completed without any error. However, when I add the thread X option (see .ioc file), the generation process gets stuck in "copying files" I am developing a project for an STM32H563xxx HW and I have updated all the necessary libraries such as:ThreadX v6.2.0 (I cannot upgrade it to the 6.4...)FW package manager: STM32Cube FW_H5 V1.3.0And i am running the software on a WIndows 10 laptopHow is that? What can I do to solve this problem.
I am using STM32CUBEMX 6.6.1. When trying to export a Kicad model, the model turns out empty without any Pins.
Hi there, I have been having a lot of issues exporting the stm32h753 symbols to kicad. In fact I can export the files, but there is no pins when I select it in kicad. Just a rectangle. I tried looking to see if the pins were hidden, but no, it doesn't look like that's the issue. Thanks!
With the newest CubeMx version 6.11.x, when selecting oversampling, a ratio is being set, and this ratio is a define, which are in "ADC_VER_V5_V90" that is not being set when a new project is created. #if defined(ADC_VER_V5_V90)#define ADC3_OVERSAMPLING_RATIO_2 (LL_ADC_OVS_RATIO_2)#define ADC3_OVERSAMPLING_RATIO_4 (LL_ADC_OVS_RATIO_4) #define ADC3_OVERSAMPLING_RATIO_8 (LL_ADC_OVS_RATIO_8) #define ADC3_OVERSAMPLING_RATIO_16 (LL_ADC_OVS_RATIO_16) #define ADC3_OVERSAMPLING_RATIO_32 (LL_ADC_OVS_RATIO_32) #define ADC3_OVERSAMPLING_RATIO_64 (LL_ADC_OVS_RATIO_64) #define ADC3_OVERSAMPLING_RATIO_128 (LL_ADC_OVS_RATIO_128)#define ADC3_OVERSAMPLING_RATIO_256 (LL_ADC_OVS_RATIO_256) #define ADC3_OVERSAMPLING_RATIO_512 (LL_ADC_OVS_RATIO_512) #define ADC3_OVERSAMPLING_RATIO_1024 (LL_ADC_OVS_RATIO_1024)#endifThis gives an error in the adc.c file as:hadc1.Init.Oversampling.Ratio = ADC3_OVERSAMPLING_RATIO_4;The "ADC3_OVERSAMPLING_RATIO_4" is missing/undeclared.
STM32CubeMX 6.12.0 running on Fedora 39 from a terminal window generates a stream of the following errors to the console: Jul 16, 2024 3:58:40 PM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCodeWARNING: Could not lock System prefs. Unix error code 2.Jul 16, 2024 3:58:40 PM java.util.prefs.FileSystemPreferences syncWorldWARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.Jul 16, 2024 3:59:10 PM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCodeWARNING: Could not lock System prefs. Unix error code 2.Jul 16, 2024 3:59:10 PM java.util.prefs.FileSystemPreferences syncWorldWARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.This happens every 30 seconds.Looking at the strace output of the Java process, it is attempting to open a file in /etc which does not exist:readlink("/etc", 0x7f01c7bf1060, 1023) = -1 EINVAL (Invalid argument)readlink("/etc/.java", 0x7f01c7bf1060,
When I try to generate code I am getting "eclipsec" error pop=up referring me to a log file. The file content is attached below. I have uninstalled all the STM32 applications and reinstalled just MX 6.12.0, but error is still here. !SESSION 2024-07-15 17:37:34.297 -----------------------------------------------eclipse.buildId=unknownjava.version=17.0.11java.vendor=Eclipse AdoptiumBootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_USFramework arguments: -application com.st.stm32cube.ide.common.services.mx.rcpApp -rmiServerPort 8435 -projectUpdate -buildType exec -src cube -cubeScratchFile C:\GIT_REPS\PROJECTS\JefCore\SPLIT\FIRMWARE\Simulator\F3discovery\MX\mx.scratchCommand-line arguments: -os win32 -ws win32 -arch x86_64 -application com.st.stm32cube.ide.common.services.mx.rcpApp -data C:\Users\panasyuk\.stm32cubeide\.workspace_5374180911736407778 -rmiServerPort 8435 -projectUpdate -buildType exec -src cube -cubeScratchFile C:\GIT_REPS\PROJECTS\JefCore\SPLIT\
Hi All,I am working on setting up a pipeline on Jenkins for building the STM32 platform-based projects. A .ioc file is used to generate the project using the STM32CubeMX command, which is run in a Docker container (from a docker image I built based on ubuntu) in the pipeline script. Here's the command used to invoke STM32CubeMX: java -jar <path_to_CubeMX>/STM32CubeMX -q <scriptfile> Everything works fine when I use the same image and run a container on my local machine and execute the command inside the container; however, when I pull the image and execute it inside the Docker container in my pipeline using the docker.image(DOCKER_IMAGE).inside(){ ---cmd--- } I see the following error in the Jenkins log file as shown below: 2024-07-12 11:31:08,156 [ERROR] ProjectBuilder:2169 - java.io.IOException: Function not implemented at sun.nio.ch.FileChannelImpl.transferFrom0(Native Method) ~[?:?] at sun.nio.ch.FileChannelImpl.transferFromDirectlyInte
Hello, I would like to report a bug on USB CDC middleware generated from CubeMX 6.11. When I use it in Debug build, everything works as expected. Once I switch to Release, the compiler optimizes out the serial number. I use official VScode extention with Cmake to build the FW.Without a serial number at USB device, Windows fails to recognize that anything is connected. It works in Linux only. I have the same issue happen at STM32F411 and STM32L433. The solution was to add initalization to 3 lines in USB_DEVICE\App\usbd_desc.c uint32_t deviceserial0 = *(uint32_t*)DEVICE_ID1; uint32_t deviceserial1 = *(uint32_t*)DEVICE_ID2; uint32_t deviceserial2 = *(uint32_t*)DEVICE_ID3; I hope this helps someone and the STM may fix it. No support is needed.Thanks.
I had used STM32CubeMX generated ADC with STM32H750VBT6:ADC_REG_InitStruct.TriggerSource = LL_ADC_REG_TRIG_EXT_TIM1_CH1;ADC_REG_InitStruct.SequencerLength = LL_ADC_REG_SEQ_SCAN_ENABLE_2RANKS;ADC_REG_InitStruct.SequencerDiscont = ENABLE;ADC_REG_InitStruct.ContinuousMode = LL_ADC_REG_CONV_SINGLE;ADC_REG_InitStruct.Overrun = LL_ADC_REG_OVR_DATA_PRESERVED;LL_ADC_REG_Init(ADC1, &ADC_REG_InitStruct);->but ADC not working.My modify:ADC_REG_InitStruct.TriggerSource = LL_ADC_REG_TRIG_EXT_TIM1_CH1;ADC_REG_InitStruct.SequencerLength = LL_ADC_REG_SEQ_SCAN_ENABLE_2RANKS;ADC_REG_InitStruct.SequencerDiscont = LL_ADC_REG_SEQ_DISCONT_2RANKS;ADC_REG_InitStruct.ContinuousMode = LL_ADC_REG_CONV_SINGLE;ADC_REG_InitStruct.DataTransferMode = LL_ADC_REG_DMA_TRANSFER_UNLIMITED;ADC_REG_InitStruct.Overrun = LL_ADC_REG_OVR_DATA_PRESERVED;LL_ADC_REG_Init(ADC1, &ADC_REG_InitStruct);-> Issue had'nt fixed.I change to HAL lib with ADC1hadc1.Instance = ADC1;hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;hadc1.
Hello STM Team,I am using the STM32H723ZG board with MATLAB STM embedded coder support packages and I configured the STM32H7 MCU peripherals for ADC1,ADC2 and ADC3,PWM and GPIO, i can see the signals on the GPIO output pins and PWM when I don't use the multiple configuration's in the ADC but When I configure the Multiple channel ADC configuration, I could not see any signal on the GPIO and PWM pins, Can i know is there any issue with DMA configuration with Multiple channel ADC?Attached the multiple channel configurations for ADC in the picture.BRVenkat
In `HAL_I2C_MspInit()`, `I2C4_ER_IRQn` and `I2C4_EV_IRQn` are switched.In CubeMX, ticking an Event interrupt for I2C4 generates an Error interrupt, and vice versa. The same behavior was observed in STM32CubeIDE 1.11.0.
Hello.My STM32CubeMX version is 6.12, and I have chosen to create the project through the CMake toolchain.But when I make the project directly, I encounter the problem that target CPU does not support ARM mode. How can I solve it?I didn't change anything in CMakeLists.txt
It is a common requirement to have an area of RAM that is not cleared or otherwise initialised by the startup code; eg,https://community.st.com/t5/stm32cubeide-mcus/how-to-make-keep-ram-value-after-software-reset/m-p/96132https://community.st.com/t5/stm32cubeide-mcus/how-to-port-no-init-iar-directive-with-to-gcc-compiler-please/m-p/661867to mention but two.Currently, this means making manual edits to the linker script - which get overwritten with every 'Generate'. :frowning_face:So how about adding a "noinit section" option in the Project 'Linker Settings': Or making the generated linker script have areas which will not get overwritten - as in the generated 'C' code. (I've tagged this as 'Bug Report' because the forum insists on having a tag, but none of the available tags is relevant! 'Bug Report' seems the least worst.)
Could you please tell me relationship between maximum peripheral frequency on STM32 datasheet and actual clock config value in CubeMX?As an example, I'm currently working with STM32H573RIT6.The maximum USB clock in this MCU's datasheet (Table.22) is 50MHz.However, when I actually enable USB in CubeMX and set clock, I can set it to same value as FCPU (250MHz) without getting an error.The same phenomenon occurs for other peripherals whose maximum clock is less than the FCPU.I was wondering about discrepancy between this datasheet and actual clock.Also, many peripherals use HCLK/PCLK as default clock source, but HCLK/PCLK is basically same value as FCPU, so I would like to know why peripherals whose maximum clock is less than FCPU operate at default value. Thank you.
Dear Team, When I am starting a new project in cube MX with STM32H7R7L8H6, there are options of I2C1 and I3C1. but I am not able to select and make it work. drop-down menu is not enabled!I am using V 6.12.0 Does anyone have any explanation for this? RegardsUmang
HelloI am new to the CUBEIDE Universe and I guess this question has been asked a 1000 times but I can´t find an answer. I created a new project with cubeMX ( just a few GPIO outputs with LEDs) and build the C File. Then I wrote some defines and arrays. When I now edit the.ioc file because I want to change something, all my defines etc. are gone. Only my Code after while(1) stays. Is this a BUG oder did I something wrong. I wrote my #define right after the #include main.h.
im using stm32h743zi2 nucleo board . im triyng to do programming in ethernet with udp without freeRTOS . using firmware version of 1.10.0 but it is not pinging . anybody did programming with this FW . please let me know the reasons for not ping.or share me the working code for ping. thanks
I used CubeMX to generate CMake project for STM32H750XBH6.Then I have to modify STM32H750XBHx_FLASH.ld because DMA1 can't access the DTCMRAM./* Specify the memory areas */ MEMORY { DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 128K } /* Uninitialized data section */ . = ALIGN(4); .bss : { /* This is used by the startup in order to initialize the .bss secion */ _sbss = .; /* define a global symbol at bss start */ __bss_start__ = _sbss; *(.bss) *(.bss*) *(COMMON) . = ALIGN(4); _ebss = .; /* define a global symbol at bss end */ __bss_end__ = _ebss; } >DTCMRAM But everytime I use CubeMX regenerate the project, STM32H750XBHx_FLASH.ld will be recovered. My changes didn't save. How can I save this mo
Hi STM Community, I was trying to use USART2 on NUCLEO-G491RE board, but it is disabled from the start. It is highlighted in Pink and I am not able to edit it. Can you please tell me how to make it work ? Thank you. Appreciate it. Regards, STMUSER
I just installed 6.12.0 on my MacOS 14.5 system.First, the updater requires administrative privileges, which is not a thing, so you have to fire up a terminal session, cd into the 6.11.0 application bundle to just the right place, sodo execute the application... and throw stones at Windows for imputing their weird user experience expectations on the world.Anyway, once you finally get everything installed and generate code, you get: Indeed the directory in question is:drwxr-xr-x 4 root admin 128 5 Jul 12:12 configuration//not writable by anybody but root. Why root? Because we had to install as an administrator. See part 1.Remember to be excellent,Andrei from The Great White North.
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.