Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
Hello, Began learning STM32 MCUs with my Nucleo-H753ZI board and I think I found a bug. The IO configurator on CubeIDE thinks user LED2 is on PB7 and is blue coloured. I'll paste the code it generates below. But in fact, the user manual UM2407 says user LED2 is on PE1 and is yellow coloured, which is indeed correct. Generated code from CubeIDE for Nucleo-H753ZI:#define LED2_PIN GPIO_PIN_7 #define LED2_GPIO_PORT GPIOB Appears to be a bug that should be fixed in the BSP.
HiAccording to the reference manual the high-cycle capable Flash of a STM32H562 is mapped to the address 0x0900_0000 to 0x0901_7FFF. The Memory Management Tool of CubeMX does not allow me to generate a Region in this address range (see Error below). Is this correct or should CubeMX not allow the generation of a memory region in this range? The Flash Option Byte was configured for the use of the high-cycle Flash.As a work around I can of course manually edit the linker script.I use STM32CubeMX Version 6.14 with the Firmware Package V1.5.0 to generate a STM32CubeIDE project on Windows 11.
Downloaded the update of STM32CubeMX 6.17.0 to install the ARM version on my M4 MacBook Air with macOS Tahoe. The issue is that it installs an Intel version and not an ARM version. I uninstalled version 6.16 before installing this updated version.The installer file was SetupSTM32CubeMX-6.17.0-Mac-ARM.app.tar downloaded from the STM32CubeMX download page.The next macOS version after Tahoe will not support Intel apps and was expecting an Apple Silicon version as per the download!What is up with this?
Hello,I am using a STM32MP257 (Karo SOM), RGMII connected to a DP83869 (100Mbps fiber mode).This is working well until I start the LVDS screen on my board.The screen is powered with 2 regulators : Backlight (16V/360mA, dedicated boost) Logic (2.7V/500mA, dedicated buck)The DP83869 is powered with 3 regulators :1.1V (dedicated buck) 2.5V (dedicated LDO) 3.3V (shared buck also powering the MP2 SOM)Below is the behavior in different configurations:Screen unplugged => fiber link OK Screen plugged => fiber link KO hot-unplugging the screen makes the link working instantly Screen unplugged, flat cable present, with 100ohm R at the end of the LVDS signals => OK Screen unplugged, With no current on the BL / logic DC/DC converter => OK Sinking 300mA on the BL => KO Removing the sink current makes the link working instantly Sinking 300mA on the logic => KO Removing the sink current makes the link working instantly Probing power rails with a scope show clean signals,
Cross selector displays operation frequency of STM32H743II as 400MHz, but it should be 480MHz. I've refreshed all data and databases but the result is the same. Is there a known solution for this issue?
I'm trying to configure DMA in Memory-to-Peripheral mode for the STM32WB09KE, specifically to transfer data from memory to a Timer channel (TIM2_CH3 for Addressable LED's). However, in STM32CubeMX, I cannot see the expected DMA options under the DMA Settings tab for my Timer.
Cube MX v6.17.0 and even previous version v6.16.1 have a problem generating SystemIsolation_Config for STM32N6.I made a test IOC file. There are 3 SECURE checkboxes checked in RIF -> RIF Aware IPs -> EXTI1:Line 13 for EXTI13Line 17 for RTC secure-wakeupLine 62 for Wake-up PIN3Screenshot: Generated SystemIsolation_Config(void) in main.c of FSBL contains: /* set up EXTI configuration */ /* EXTI13 line */ HAL_EXTI_ConfigLineAttributes(13,EXTI_LINE_SEC|EXTI_LINE_NPRIV); /* RTC secure wake-up line */ HAL_EXTI_ConfigLineAttributes(17,EXTI_LINE_SEC|EXTI_LINE_NPRIV); /* Wake-up_PIN3 line */ HAL_EXTI_ConfigLineAttributes(62,EXTI_LINE_SEC|EXTI_LINE_NPRIV);These calls fail in this assert in stm32n6xx_hal_exti.c: assert_param(IS_EXTI_LINE(ExtiLine));Full assert is turned on in IOC so it lands in assert_failed.The assert condition check macro is very messy, but it appears like it expects type and register mask with it so I added them (based on table 138. EXTI line connec
在使用最新版本的CubeMX 6.17.0 配置STM32G474QETx系列的HRTIM时,Dead Time明明没有启用,但是显示TA2的置位输出源无法配置。
All related to the deadtime settings are disabled, but the Set Source of Output 2 can't be set up. It keeps constant 0, and says the deadtime is enabled? why??? @Aimen1
Hi,I found an issue when generating code for a BLE application with STM32CubeMX v6.17.0.In particular, I have a service called DataTransferService with three characteristics:DataStreamCommandControlTransferStatusThe DataStream characteristic is configured as a notification with a fixed value length of 100 bytes.When I try to increase its length up to 250 bytes and regenerate the code, the following functions in custom_app.c are removed:Custom_Datastream_Update_Char()Custom_Datastream_Send_Notification()I have attached the .ioc file for reference.
Code generation of the attached .ioc file (copy of ST example file of similar name) does not generate clock init for UART4. This means the example application hard faults. I see no reason why the UART clock should not be initialised here and would save someone time debugging in the future!In stm32mp2xx_hal.c:void HAL_UART_MspInit(UART_HandleTypeDef* huart) { GPIO_InitTypeDef GPIO_InitStruct = {0}; if(huart->Instance==UART4) { /* USER CODE BEGIN UART4_MspInit 0 */ // TODO: Need this here! __HAL_RCC_UART4_CLK_ENABLE(); /* USER CODE END UART4_MspInit 0 */ /**UART4 GPIO Configuration PH8 ------> UART4_RX PH7 ------> UART4_TX */ GPIO_InitStruct.Pin = GPIO_PIN_8; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Alternate = GPIO_AF4_UART4; HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); GPIO_InitStruct.Pin = GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Sp
When configuring the LTDC Layer Settings for an STM32N6 chip in CubeMX, the Layer 0 - Color Frame Buffer Start Address is missing: This parameter is available with other chips, such as STM32F750:
The STM32N6 supports YCbCr as an input format (see reference manual RM0486 section 21.3.5). As of version 6.16.1, this option is still not available in STM32CubeMX. The generated code can be manually modified to make it work by settinghdma2d.LayerCfg[x].InputColorMode = DMA2D_INPUT_YCBCR;
CubeMX 6.16.0 "Memory Management" used for ethernet and with enabled linker file generation creates the following [ORIGIN adapted from default]:RxDescripSection (rwx) : ORIGIN = 0x30040000, LENGTH = 0K TxDescripSection (rwx) : ORIGIN = 0x30040060, LENGTH = 0K Rx_PoolSection (rwx) : ORIGIN = 0x30040200, LENGTH = 1KWhat I would have expected was:RxDescripSection (rwx) : ORIGIN = 0x30040000, LENGTH = 96 TxDescripSection (rwx) : ORIGIN = 0x30040060, LENGTH = 96 Rx_PoolSection (rwx) : ORIGIN = 0x30040200, LENGTH = 1536[with just 1 ETH RX buffer - see this other post ].Can someone explain to me whether this is intentional - maybe because of a constriction with the MPU granularity?Or whether CubeMX handles this wrong and should allow sub-kilo-byte granularity?Best regardsJohannes
I just upgraded to Cube 2.0.0 components. I did my first build in CubeIDE 2.0.0 with a previously working project and I got strange errors. It appears the HAL objects for the peripherals are getting garbled. When pointers to the objects are passed to functions, the compiler says that the pointer is of another peripheral type. In the output below, the pointers to ADCs are treated like they are of the timer typedef.What could cause this? arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32G473xx -c -I../Core/Inc -I../Drivers/STM32G4xx_HAL_Driver/Inc -I../Drivers/STM32G4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32G4xx/Include -I../Drivers/CMSIS/Include -I../USB_Device/App -I../USB_Device/Target -I../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/main.d" -MT"
When I run/debug with CubeIDE (2.2.0), I get the following error.Restarting my PC and reinstalling CubeIDE doesn't solve the problem.What should I do? Error in final launch sequence: Failed to execute MI command:target remote localhost:61234 Error message from debugger back end:could not connect (error 138): \212ù\202É\220Ú\221±\202³\202ê\202Ä\202¢\202é\203h\203\211\203C\203u\217ã\202Ì\203f\203B\203\214\203N\203g\203\212\202É\203h\203\211\203C\203u\202ð\220Ú\221±\202µ\202æ\202¤\202Æ\202µ\202Ü\202µ\202½\201BFailed to execute MI command:target remote localhost:61234 Error message from debugger back end:could not connect (error 138): \212ù\202É\220Ú\221±\202³\202ê\202Ä\202¢\202é\203h\203\211\203C\203u\217ã\202Ì\203f\203B\203\214\203N\203g\203\212\202É\203h\203\211\203C\203u\202ð\220Ú\221±\202µ\202æ\202¤\202Æ\202µ\202Ü\202µ\202½\201Bcould not connect (error 138): \212ù\202É\220Ú\221±\202³\202ê\202Ä\202¢\202é\203h\203\211\203C\203u\217ã\202Ì\203f\203B\203\214\203N\203g\203\212\202É\203h\2
Very disappointed and frustrated not to find the flat connecting cable.
Hi,Good day,may we seek your expertise regarding L9959U/L9959T.is there any difference for these mpn below?L9959U-TR-D L9959T-TR-W L9959U-TR-W thank you.
Is this parameter dimensionless or in volts? I've tried many values, but I keep getting a yellow warning icon indicating an error, such as with 0 or 1 or 1.65 or 0.5
Hi,My actual CubeMX v. 6.17 offers some updates, but these update are for Cube MX 6.18. Cube Mx 6.18 is not available yet. When can we expect the MX update ? St.
Hello,I am developing an external flash loader for an IS25LP512MJ QSPI flash on my custom board. However, I am encountering an issue where programming always fails with the following error:Error: failed to download Sector[0]The complete log is attached below.I have verified the following: The QSPI flash is initialized correctly. I can successfully read, write, and erase the flash from my application. The flash loader builds without any errors. The issue only occurs when STM32CubeProgrammer (or STM32CubeIDE via the GDB server) attempts to program the external flash. The relevant part of the log is:Memory Programming ... File : ST-LINK_GDB_server_a19388.srec Size : 1.60 MB Address : 0x08000000Erasing memory corresponding to segment 0:Erasing internal memory sectors [0 109]Erasing memory corresponding to segment 1:Erasing external memory sectors [0 191]Download in Progress:Error: failed to download Sector[0]Error: failed to download the FileHas anyone expe
Processor is STM32U585CIU6Q. I have a trust zone project (STM32IDE) that runs just fine without the boot loader. At reset the secure project runs, transfers control to the non-secure and I can make calls to functions on the secure side just fine. All is good.This is boot loader development effort. I don’t have code to actually receive images yet. I place the secure and non-secure projects in place with the IDE and run the boot loader. When the boot loader transfers control to the secure application it seems to initially work OK. I get to the secure application OK, The secure application transfers control to the non-secure project OK. However, as soon as i try to make a call to a secure function the system hangs.To transfer out of the boot loader I save a flag in protected memory and do a SW reset. I have used this technique on other ST parts as a way to get the processor in a known state. When I come out of reset the boot loader immediately (before any initialization except C init) t
I'm looking at the test model and the optimized model in the Model Visualization view.However, the menu option to export as SVG is disabled—I can't select it.Do I need to change any other settings?
Hi everyone,I am new to Android development, and I have two questions about OpenSTDroid v6.2.0.I followed the official documentation to build OpenSTDroid, but I encountered a build error. The details are shown in the attached error.txt.How to build OpenSTDroid distribution - stm32mpu For OpenSTDroid, is the Device Tree workflow similar to Yocto? In other words, should the Device Tree be generated by STM32CubeMX and then integrated into the OpenSTDroid source tree?Any guidance or suggestions would be greatly appreciated.Thank you.
I have an STM32mp135f-dk board that I have been using openstlinux-6.1 to develop images on.For my board, I made a custom device tree "iris.dtb" which I intend to use instead of the default "stm32mp135f-dk.dtb".I ran into an interesting issue where u-boot on my board would not load the my modified uboot environment variables.For context, the following is my flash layout file with the u-boot-env at address 0x00904400 #Opt Id Name Type IP Offset Binary - 0x01 fsbl-boot Binary none 0x0 arm-trusted-firmware/tf-a-stm32mp135f-dk-usb.stm32 - 0x03 fip-boot FIP none 0x0 fip/fip-stm32mp135f-dk-optee.bin P 0x04 fsbl1 Binary mmc0 0x00004400 arm-trusted-firmware/tf-a-stm32mp135f-dk-sdcard.stm32 P 0x05 fsbl2 Binary mmc0 0x00044400 arm-trusted-firmware/tf-a-stm32mp135f-dk-sdcard.stm32 P 0x06 metadata1 FWU_MDATA mmc0 0x00084400 arm-trusted-firmware/metadata.bin P 0x07 metadata2 FWU_MDATA mmc0 0x000C4400 arm-trusted-firmware/metadata.bin P 0x08 fip-a FIP mmc0 0x00104400 fip/fip-stm32mp135f-dk
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.