Ask questions and find answers on STM32 microprocessors software development tools.
Most recent activity
We are pleased to announce that the minor version 6.18.1 of STM32CubeMX is available.What is new in 6.18.1:This release addresses and resolves the issues outlined below:Download error for crdb.zip during update STM32CubeMX displays a download error pop-up during data updates. Note : This issue is resolved for 6.18.1 and later versions. For the earlier versions customers may refer to the following workaround already shared in the community:Workaround for file download error: crdb.zip (Problem during download) | Community Error occurred while importing .ioc file created with STM32CubeMX older than 6.18.0 The “Continue and Migrate” features are not working properly for projects with PCC configured. Issue when setting clock to 240Mhz in STM32H743 and STM32H753 STM32CubeMX prevents the user from selecting 240 MHz, displaying the message: “240 MHz maximum frequency must be <= 225 MHz.” Fixed issues in 6.18.1:Refer to the STM32CubeMX online docum
We are pleased to announce that STM32CubeIDE 2.2.0 release is now available. What is new in 2.2.0: Added support for: STM32H5 microprocessors to the STM32H5 series STM3U3 series microprocessors to the STM32U3 series STM32V8 series Added support for new boards: NUCLEO-H553ZG NUCLEO-U345RC-Q, NUCLEO-U366RE-Q, STM32U366E-DK NUCLEO-V873XJ, and STM32V873J-DK Updated the target Platform to Eclipse 2025-12 and CDT™ 12.3.0 Added Multidrop support for debugging: STLINK-GDB server OpenOCD Segger J-Link Updated CMake to version 4.3.1 STARM-CLANG to version 21.1.1+st.7 Added support for OpenSTLinux 6.2.1 CMake static library template Ubuntu 26.04 and Fedora 44 Dependencies versions updates: Eclipse® 2025-12 and CDT™ version 12.3.0 Bundled JRE™: Adoptium® Temurin® 21.0.10+7 with JavaFX 21.0.10 ST-LINK GDB Server 7.14.0 supporting ST-LINK/V2 and STLINK-V3 SEGGER J-Link GDB Server V9.42 STM32CubeProgrammer v2.23.0 Open On-Chip Debugg
We are pleased to announce that STM32CubeProgrammer 2.22 is available What is new in 2.22: Support for the STM32U3 microcontrollers with 2 Mbytes of flash memory: Internal memory programming through debug and bootloader interfaces Option bytes programming through debug and bootloader interfaces OTP programming through debug and bootloader interfaces Core register programming through debug interfaces Automatic mode Serial Wire Viewer Register viewer Firmware encryption/signing RDP regression with password SFI through debug and bootloader interfaces (USB and UART) Support for STM32C5 series microcontrollers: Internal memory programming through debug and bootloader interfaces Option bytes programming through debug and bootloader interfaces OTP programming through debug and bootloader interfaces Core register programming through debug interfaces Automatic mode Register viewer Firmware encryption/signing RDP regression with password Support for STM32WBA2xxx microcontrollers: Inter
Hello,I’ve migrated from sdk V25.06.11 to sdk V26.06.10 to compile FIP, tfa, boot and kernel for STM32MP257F-DK board.While the scripts “make_mp2_FIP.sh” and “make_mp2_KERNEL.sh” were working properly with sdk V25.06.11, the script “make_mp2_FIP.sh” hangs nows in the middle of the compilation with an error “ LDS /Documents/STM32_packages/Sources_v26.06.10/stm32mp-openstlinux-6.6-yocto-scarthgap-mpu-v26.06.10/sources/ostl-linux/tf-a-stm32mp-v2.10.24-stm32mp-r3.1-r0/tf-a-stm32mp-v2.10.24-stm32mp-r3.1/../build/optee-sdcard-stm32mp257f-test2-mx/stm32mp2-stm32mp257f-test2-mx.o/opt/st/stm32mp2/5.0.17-openstlinux-6.6-yocto-scarthgap-mpu-v26.06.10/sysroots/x86_64-ostl_sdk-linux/usr/libexec/aarch64-ostl-linux/gcc/aarch64-ostl-linux/13.4.0/ld: cannot find -lgcc: No such file or directory/opt/st/stm32mp2/5.0.17-openstlinux-6.6-yocto-scarthgap-mpu-v26.06.10/sysroots/x86_64-ostl_sdk-linux/usr/libexec/aarch64-ostl-linux/gcc/aarch64-ostl-linux/13.4.0/ld: cannot find -lgcc_s: No such file or direc
Hello,We are assessing security maintenance for an STM32MP1 product using linux-stm32mp. Could ST clarify the following? Is the maintenance policy in the 2021 "FAQ: Updating OpenSTLinux" (https://community.st.com/stm32-mpus-61/faq-updating-openstlinux-19) still current? How are security fixes delivered after a release: through component branches, tagged minor releases, or another mechanism? Has ST published updated guidance in preparation for the EU Cyber Resilience Act? Does ST assess kernel.org CNA CVEs against its vX.Y-stm32mp branches? Are per-CVE affected/fixed decisions published anywhere, such as a vulnerability list, VEX document, or CVE_STATUS entries in meta-st-stm32mp? For security vulnerabilities in ST-specific kernel changes that have not been upstreamed, what is the CVE assignment and advisory process? Where are fixes announced? The FAQ describes 1.5 years of feature development, 2.5 years of corrections, and a possible additional year of vulnerability-related relea
Hi!I think a have found a bug in CubeMX for STM32MP257F processor.If you go to RIF - RISAB - VDERAM. You will find that the region size can only be 0x21000. That's more than 128 kB, according to the data sheet.SYSRAM1, SYSRAM2, SRAM1, SRAM2, RETRAM have 0x20000 as maximum region size.Question: If this is a bug, then I want to send a PR to the Github ST repository of the MP2 firmware. Can you guide me where the code is so I can make a PR?
I am using the STM32CubeProgrammer v2.2.3 with MX66UW1G45G_STM32N6570-DK external loader for the STM32N6570-DK.After reloading the STM32N6570-DK demo that came with the kit, I get the following error message (see below). Most of the demo runs normally except the AI demo won’t run at all now (nothing on the display). LEDs LD3 and LD4 turn red only when the AI demo is selected from the menu. NOTE: I can download a new GUI from TouchGFX with no issues at all. Here is the log...09:05:48 : Disconnected from device.09:05:59 : UR connection mode is defined with the SWrst reset mode09:06:00 : Warning: Device changed, refreshing...09:06:00 : UR connection mode is defined with the SWrst reset mode09:06:00 : ST-LINK SN : 002700193235510E3836373009:06:00 : ST-LINK FW : V3J15M609:06:00 : Board : STM32N6570-DK09:06:00 : Voltage : 3.29V09:06:00 : SWD freq : 8000 KHz09:06:00 : Connect mode: Hot Plug09:06:00 : Reset mode : Software reset09:06:00 : Device ID : 0x48609:06:00 : Revision
MCU: STM32MP215DAN3 (custom board, STM32MP2 series)STM32CubeMX versions tested: 6.17.0 and 6.18.1 — identical crash in bothSTM32Cube FW_MP2: V1.3.1Steps to reproduce:Open a working project where SDMMC1 is the boot device (A35 ROM + A35S(TF-A_BL2) runtime context checked) In SDMMC1 Mode and Configuration: uncheck A35 ROM and A35S(TF-A_BL2) In SDMMC2 Mode and Configuration: check A35 ROM and A35S(TF-A_BL2) (making SDMMC2/eMMC the new boot device instead of the SD card) Save project, click Generate CodeResult: Code generation crashes with the following exception, reproducible 100% of the time with this exact configuration: java.lang.NullPointerException: Cannot invoke "javax.swing.table.TableModel.getRowCount()" because "RifIPExtraTableModel" is null at com.st.microxplorer.mcu.rif.RIFService.getExtraTableModel(RIFService.java:341) at com.st.microxplorer.codegenerator.McuDataModel.getRIFInfo(McuDataModel.java:824) at com.st.microxplorer.codegenerator.McuDataModel.initMcuData(McuDa
Hello, I’m trying to initially build the Distribution-Package 6.2.0 (v26.02.18) as stated in the Wiki (https://wiki.st.com/stm32mpu/wiki/STM32MPU_Distribution_Package#Initializing_the_OpenEmbedded_build_environment)I am using a VM in Virtual Box running Ubuntu 24.04.5 LTS.I attached the log file.Any help is appreciated :)Thanks in advance.Ben
HelloSTM32 MP257 lists pin PC3 with additional function ADC_INP12 in ball definition table, the input source is also included reference manual ADC2 connection matrix. But it can’t be selected in STM32 CubeMX. It’s marked red in Pinout view for PC3 and not included in ADC Mode selection window. I don’t see an entry about ADC2_INP12 in errata document. Any insights are welcomeRegardsFrank
STM32CubeIDE Version: 2.1.1 Build: 28236_20260312_0043 (UTC) How can I make sense of this ? TMicroelectronics ST-LINK GDB server. Version 7.13.0 Copyright (c) 2026, STMicroelectronics. All rights reserved. Starting server with the following options: Persistent Mode : Disabled Logging Level : 1 Listen Port Number : 61234 Status Refresh Delay : 15s Verbose Mode : Disabled SWD Debug : Enabled Waiting for debugger connection... Debugger connected Waiting for debugger connection... Debugger connected Waiting for debugger connection... ------------------------------------------------------------------- STM32CubeProgrammer v2.22.0 ------------------------------------------------------------------- Log output file: /tmp/STM32CubeProgrammer_Xj0e11.log Error: Unable to connect to the target device, Access port is not valid. Encountered Error when opening /home/soham/st/stm32cubeide_2.1.1/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_2.2.400.2026010
I’m trying to add openAmp to a stm32cubemx project (ioc). I add everything (IPCC1, openAMP exc) but when I compile the project[build] [ 5%] Building C object bsp/CMakeFiles/bsp.dir/CM33/OPENAMP/open_amp.c.obj[build] [ 6%] Building C object bsp/CMakeFiles/bsp.dir/CM33/OPENAMP/openamp_log.c.obj[build] [ 8%] Building C object bsp/CMakeFiles/bsp.dir/CM33/Core/Src/stm32mp2xx_it.c.obj[build] In file included from /home/marco/lavori/qmc/software/qmctest-m33/bsp/Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/open_amp.h:11,[build] from /home/marco/lavori/qmc/software/qmctest-m33/bsp/CM33/OPENAMP/openamp.h:25,[build] from /home/marco/lavori/qmc/software/qmctest-m33/bsp/CM33/OPENAMP/open_amp.c:21:[build] /home/marco/lavori/qmc/software/qmctest-m33/bsp/Middlewares/Third_Party/OpenAMP/open-amp/lib/include/openamp/rpmsg.h:15:10: fatal error: metal/compiler.h: No such file or directory[build] 15 | #include <metal/compiler.h>[build] |
I am working with an STM32MP257F-EV1 Evaluation board (board reference MB1936, target STM32MP257FAI3) and am unable to debug the Cortex-M33 core independently over SWD. Setup:- Board: STM32MP257F-EV1- Tools: STM32CubeIDE and STM32CubeProgrammer.- Boot switches (SW1) set to Development boot: Boot0=1, Boot1=1, Boot2=0, Boot3=0- JP3: no jumper fitted (STLINK-V3EC active)- CubeIDE debug configuration: Load Mode = "thru JTAG/SWD link (Engineering mode)", Access port = "8 - Cortex-M33", SWD interfacei have attached debug error screenshot. i want to debug a standalone (bare-metal) application running on the Cortex-M33 over SWD.Could you help with the following:Is it possible to debug the Cortex-M33 via SWD/JTAG on the STM32MP257F-EV1 without booting from SD card, eMMC, or QSPI. What is the recommended/supported procedure for attaching a debugger (SWD) to the M33 core when running a standalone bare-metal application. Are there specific boot configuration or provisioning steps required (e.g.,
Hi Is TouchGFX supported on MP1 or MP2 boards ?I found this article : https://wiki.st.com/stm32mpu/wiki/How_to_install_X-TouchGFX_MPU_AddonBut it looks like its only 1 board
How to flash M4 Core in STM32MP157F-DK2 using STM32Cube Programmer..? I have the Hex file but whenever I open Cube Programmer ST-LINK is not Detecting instead its Deteccting as USB, and in Device manager USB is recognized as STM32 Bootloader
After upgrading MX to 6.18.0 when I run STM32CubIDE 1.19 it crashes when doing it’s upgrade check.As it happens so fast I can’t actually see what is happening but managed to open the Preferences to set the Firmware Updater to Off Line Mode..I am using 1.19 as I prefer the MX integration in CubeIDE. So be warned ;)
Hi ST team,I am working with an STM32MP257 where Linux runs on the Cortex-A35 and a FreeRTOS application runs on the Cortex-M33. The M33 firmware is loaded and started by Linux using remoteproc.The application is running correctly, but I would like to understand the recommended workflow for debugging the M33 application.I have read the "Debug support" section of RM0457 and understand that the M33 can be accessed through the shared SWD/JTAG interface by selecting the appropriate Access Port. However, I'm still not clear on the recommended debug workflow when the M33 is managed by remoteproc.My questions are:Can STM32CubeIDE/ST-LINK attach to an already running M33 started by remoteproc, or should the M33 be stopped first? If Linux has already loaded the firmware, should the debugger load only the ELF symbols instead of downloading the application again? Is there any special OpenOCD/ST-LINK or CubeIDE configuration required for this use case? Is there an ST application note or example de
Factory flashing of the STM32MP135 will be part of some device testing (probably ICT) during production at an external manufacturer. So, SSP will play a part in this. Testing and flashing the device will be automated as much as possible with a custom app (GUI or CLI) running on a PC. This app will execute STM32CubeProgrammer_CLI with corresponding arguments in the background.As I understand it, once the whole SSP process has finished, it cannot be done on the same device again. I need a way to test the automation app numerous times before giving the whole package to the manufacturer. I didn't find a clear solution to this, and I don't want to buy many STM32MP135 development boards or HSM cards for it. For the HSM part: I read in the forum that the licence file can be extracted from the smart card and then use it with the STM32CubeProgrammer but I'm not 100% sure about that.So, my questions are:What is the recommended way to test flashing with SSP on a single device? Can a licence file
https://github.com/STMicroelectronics/meta-st-stm32mp/blob/scarthgap/recipes-bsp/trusted-firmware-m/tf-m-stm32mp.inc#L263 and the following cp commands preserve the ownership of the file which is a problem for yocto.When I build the sdk, I am getting the following error:Exception: Exception: KeyError: 'getpwuid(): uid not found: <my-uid-here>'Path <path-to-build-folder>/tmp/work/x86_64-nativesdk-<distro-sdk-name>-linux/nativesdk-tf-m-stm32mp-scripts/v2.1.4-stm32mp-r2.1/sstate-build-package/package/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-<distro-sdk-name>-linux/usr/share/tf-m/scripts/wrapper/imgtool/__init__.py is owned by uid <my-uid-here>, gid <my-gid-here>, which doesn't match any user/group on target. This may be due to host contamination.The fix is quite easy, any instance of “cp -a” needs to be replaced by “cp -a --no-preserve=ownership”. So you copy every other attribute but the ownership.I fixed it in a .bbappend but that would be
Hi dear ST team & community, We are planning our mass production strategy for our product using a STM32MP25 MPU. We found that ST’s partner ElProtonic has the GangProgrammer tool. This document https://www.st.com/en/partner-products-and-services/gang-flasher.html mentions it supports MP2s but I got in touch with ElProtonic and they say there’s no currently available support for MP2. We are currently using STM32Prog CLI tool to flash our devices in development but it’s way too slow for mass production. Is there any available/official tool we can use to flash our eMMCs? Or is there any approach you could suggest for us?Thanks!
We are pleased to announce that version 6.18.0 of STM32CubeMX is now available. What is new in 6.18.0: Added support for new microcontrollers in the STM32U3 series with 256 Kbytes and 512 Kbytes flash memory. Added support for new microcontrollers in the STM32H5 series with 1 Mbyte flash memory. Added support for new boards: NUCLEO-U345RC-Q, NUCLEO-U366RE-Q, STM32U366E-DK and NUCLEO-H553ZG. Added Start From Board feature for NUCLEO-U345RC-Q, NUCLEO-U366REQ, NUCLEO-H553ZG, NUCLEO-F446RE, NUCLEO-L432KC, and NUCLEO-L476RG. Released the following new features: Added support for PLAY for STM32H5 devices with 1 Mbyte of flash memory. Add support for the MP25-DK board in the M33-TD flavor Renamed all STM32CubeMX installers. Added DMA comparison to the "Compare projects" feature. Removed the JxBrowser dependency. Upgraded the OpenSTLinux version to OpenSTLinux (OSTL) 6.2.1. Main fixed issues in 6.18.0: Refer to the STM32 microcontroller online documen
I was able to sign properly a tf-a image using STM32_SigningTool_CLI STM32_SigningTool_CLI -bin tf-a.stm32 -o tf-a_Signed.stm32 --password password --public-key publicKey00.pem publicKey01.pem publicKey02.pem publicKey03.pem publicKey04.pem publicKey05.pem publicKey06.pem publicKey07.pem --private-key privateKey00.pem --type fsbl --header-version 2.2 -of 0x00000001 I was moving my setup to use a pkcs#11 to better manage my secrets. I was trying to use softhsmv2 as a first step. It seems that if -hv is specified the tool is failing while validating the inputs:STM32_SigningTool_CLI -bin tf-a.stm32 -o tf-a_Signed.stm32 --password password --header-version 2.2 -of 0x00000001 --module /usr/lib/softhsm/libsofthsm2.so -ki 00 01 02 03 04 05 06 07 -pwd password -si 0x00 -aki 0x00 --header-version 2.2This produces the error:Error: Invalid Header version valueHeader v2.2 accepts 8 public keys And if I don't define --header-version the tool works properly, but the output i
Hello, I am preparing to develop a custom board based on the STM32MP15 series MPU and getting accustomed to the DDR testing procedures in the STM32Cube ecosystem with an STM32MP157F-DK2 evaluation board. However, I am running into issues with the SYSRAM loading option which seems to be the necessary method for DDR testing new, custom boards designed around the STM32MP157 MPU. Firstly, I am able to run the DDR Test Suite in STM32CubeIDE or STM32CubeMX after importing the STM32DDRFW-UTIL-main\DDR_Tool\STM32MP157C-DK2 project into STM32CubeIDE. I am able to run the test firmware on the evaluation board with the "Debug As" option (with boot switches set to Engineering Mode), and then I am able go to a new .ioc project file made for the STM32MP157F-DK2 (peripherals initialized in their default modes) and use the DDR Test Suite via the "DDR Interactive" mode with no issues. Similarly, I can open a serial connection in TeraTerm via the ST-LINK COM port and run the DDR tests the
Dear Team,Could you please guide us on how to set the Linux terminal and SSH login password for the STM32MP257F series platform?We would appreciate it if you could share the required steps or documentation for configuring the password.
HelloI am developing a custom board using the STM32MP255F-AKUpdates to the DeviceTree (DT) of a custom board placed in the `mata` layer are not reflected in the build.I have already fetched the source using `devtool modify virtual/kernel`The Device Tree for the custom board is located at .../layers/meta-st/meta-st-stm32mp-addons/mx/ddlskt/..Edit the kernel's DT (stm32mp255f-ddlskt-mx.dts)Add a marker to `model = “...”`: `model=“... AAA”`I tried building it$ bitbake virtual/kernelWrote Image.gz, *.dtb, and modules to the SD card and booted(brd-ddlskt) # cat /proc/device-tree/modelSTMicroelectronics custom STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06AAA has not been added to the modelRunning `cleansstate` before building will reflect the updated device tree$ bitbake -c cleansstate virtual/kernel$ bitbake virtual/kernelWrite Image.gz, *.dtb, and modules to the SD card and boot(brd-ddlskt) # cat /proc/device-tree/modelSTMicroelectronics custom STM32CubeMX board - opens
ST Community highlights – April to June 2026
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.