Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors software development tools.
Most recent activity
We are pleased to announce that the version 6.15.0 of STM32CubeMX is available. What is new in 6.15.0: Enhanced microprocessor support: Added the STM32MP21-A35-TD, STM32MP21-M33-TD, STM32MP25-M33-TD, and STM32MP23-M33-TD trusted domains for the STM32MP2 MPUs and their Arm® Cortex®-A35 and Cortex®-M33 processors. Integrated the STARM-Clang toolchain: The STMicroelectronics LLVM-based toolchain for Arm®, STARM-Clang, leverages Clang's modular architecture for faster compilation and enhanced support for modern language standards, expanding the build capabilities. Build process enhancements: Use of CMake for more efficient project compilation. Removal of the -Wpedantic and -Wextra options from CMake GCC toolchain template to match the build results produced by STM32CubeIDE. Updated the RIF feature implementation: Integrated the RIF feature for STM32MP2 microprocessors with the STM32MP21-A35-TD, STM32MP21-M33-TD, STM32MP25-M33-TD, and STM32MP23-M33-TD trusted domains. Updated soft
使用千问大模型询问STM32MP157使用docket +vscode开发调试方式,它说VSCODE目前(大模型只能判断到2024初的信息)只支持A7用gdb调试,而M4只能用stlink+离线版的stm32cubide,2025.10发布的这新版能支持stm32mp157(特别是M4核的)开发吗?
Hi all, I’m working with the STM32MP135DF board and trying to use a fully custom stack including Machine/Device Tree, Kernel, U-Boot, TF-A, and OP-TEE. Here’s my setup: Poky / Yocto version: kirkstone-4.0.27 CubeMX version: openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11 Added CubeMX generated files under: meta-st/meta-st-stm32-Addons/mx/ └── stm32mp135df-comtrol ├── kernel │ ├── Makefile │ └── stm32mp135f-stm32mp135df-comtrol-mx.dts ├── optee-os │ ├── conf.mk │ └── stm32mp135f-stm32mp135df-comtrol-mx.dts ├── tf-a │ ├── stm32mp135f-stm32mp135df-comtrol-mx.dts │ ├── stm32mp135f-stm32mp135df-comtrol-mx-fw-config.dts │ └── stm32mp13-mx.dtsi └── u-boot ├── Makefile ├── stm32mp135f-stm32mp135df-comtrol-mx.dts └── stm32mp135f-stm32mp135df-comtrol-mx-u-boot.dtsi Generated custom machine by copying stm32mp13-disco-mx.conf.sample. Successfully built the image. Problem: When I try to flash using the STM32 flashing tool Using Usb, it gets stuck after
Hello, I am currently trying to bring up the STM32MP257F-EV1 development board and running into an issue. I am following the instructions provided in this link: Populate the target and boot the image - stm32mpu, but I am using UART instead of USB. When I attempt to populate the SD card with the binaries, it goes through the entire download then says "Start operation done successfully at partition 0x01" Then approximately 30 seconds later it will say "Timeout error occured while waiting for acknowledgement." and it flashes this every 30 seconds for the next 2 and a half minutes then gives an error which reads "Error: TSV flashing service failed" and another error which reads "Error Parition 0xBB not found in TSV File". I was wondering if this was because I was using UART because when I ran the batch file to get the USB driver nothing happened so I thought I might be able to continue with UART. But if it is not specifically because I am using UART and there is a solution withou
Hi, we have a custom board using STM32MP157C that seems to be bricked and can no longer be flashed with STM32 Cube Programmer over USB (DFU) after fusing the Closed_device bit in OTP.Before that we verified our image with signed FSBL and FIP with TRUSTED_BOARD_BOOT enabled. Logs suggested that secure boot was working fine.After programming OTP with STM32PRGFW-UTIL and setting Closed_device bit the device won't boot and can also no longer be flashed successfully. I guess FSBL got overwritten by the one from STM32PRGFW-UTIL which was not signed. However I don't understand why flashing no longer works.Does STM32 Cube Programmer USB/DFU flashing rely on a signed working FSBL already on the device?From the documentation here https://www.st.com/resource/en/application_note/an5275-introduction-to-usb-dfuusart-protocols-used-in-stm32mp1-and-stm32mp2-mpu-bootloaders-stmicroelectronics.pdf in 1.7.1 Case 1 – programming from reset it sounds like that C
Hello everyone,I’m using an STM32MP157F-DK2 board and trying to use one of the Cortex-M4 debugging features — ITM (Instrumentation Trace Macrocell).However, I’m receiving garbage values on the SWV console, and I’m not sure why.Here’s what I’ve done so far:Edited the int _write() function in syscalls.c to redirect output to ITM Enabled Serial Wire Viewer (SWV) in the debug configuration.Set the core clock frequency in the debugger to match the MCU clock (as configured in the .ioc file).These are the typical steps I follow to enable ITM output.Is there anything else required to get correct SWV output?Am I missing any configuration or initialization step specific to the STM32MP1 series?Thanks in advance for any help or insights!
I just bought STM32MP135F-DK and tried to build a HelloWorld project using STM32cubeIDEFile->New> New STM32 CMake ProjectTemplate : ExecutableMCU : stm32mp135fafxToochain : MCU ARM gccProject is getting created but when I am trying to build it, it is giving me below error. C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.13.3.rel1.win32_1.0.0.202411081344/tools/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld.exe:../STM32MP135FAFX_FLASH.ld:60: syntax error collect2.exe: error: ld returned 1 exit status gmake[2]: *** [CMakeFiles/HelloWorld.dir/build.make:143: HelloWorld.elf] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/HelloWorld.dir/all] Error 2 gmake: *** [Makefile:91: all] Error 2
Hi All,We've tested debugging of M4 code on STM32MP157-EV using STM32CubeIDE from native Ubuntu linux.It all works as expected as it was documented here: https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-M4/Modify,_rebuild_and_reload_a_firmwareWe've also tried the same on STM32CubeIDE running on Win11 computers. And it all worked fine for some and not for others. E.g. On some laptops it works OK but on others it doesn't let us select "MPU Serial" console even it was recognized as STLink Virtual Port.E.g. This is an example of working setup on Laptop1:And this is an example of how it doesn't work on another laptop Laptop2 :As it is clear Win11 correctly detected ST-Link Virtual UART but it is not showing in STM32CubeIDE as it does on other laptop. We tried it on several laptops and it worked on some and doesn't on others.Versions of STM32CubeIDE we were running were 1.18 and 1.19 but no differences. It always works O
Hi,From which file this the board name MB1936 Var1.0 Rev.D-01 is retrieved in stm32mp257 EV1 board. Can I change this.I am using same image flashed on EV1 to my custom board.I am unable to read the board no.Is there any problem if board version not read.
Dear Sir /Mam We are currently working with LPDDR4 (MT53E512M32D1ZW-046 WT:B) on our platform. To validate our setup, we used the DDR firmware code available at STM32DDRFW-UTIL, which provides drivers for LPDDR4 (MT53E1GD2FW-046 WT:C). During our testing on the STM32MP257F-DK board, the DDR tests pass successfully with the MT53E1GD2FW-046 WT:C configuration. However, when we run the same code with the MT53E512M32D1ZW-046 WT:B device, the PHY training fails. We would like to clarify the following points: Can the same DDR firmware and PHY training code be reused across both devices, given their differences in density and die configuration? We are attaching the register initialisation file for DDRCTRL and DDRPHYC used in our setup(stm32mp2xx-lpddr4-1x32Gbits-1x32bits-template.h )and phy training is mentioned in stm32mp2xx_hal_ddr_ddrphy_firmware_ddr_pmu_train.c. Could you confirm what exactly is written into the PHY training phase? The STM32MP25 referen
I am programming the coprocessor (CM33) of STM32MP257F-EV1.I prepared this with reference to Develop on Arm® Cortex®-M33 .I built the sample program with MP32CubeIDE, transferred it to the target board (STM32MP257F-EV1), and it worked.Next, create a new project in STM32CubeIDE for your target board.[File -> New -> STM32 Project]Select STM32MP257F-EV1 in the Board Selector of Target Selection.I built the completed project and converted the resulting .elf to a binary file in OP-TEE? format using a python script.[properties -> Setting -> Build Step]arm-none-eabi-objcopy -S ${BuildArtifactFileBaseName}.elf ${BuildArtifactFileBaseName}_stripped.elf; python ../../../../Utilities/optee_os/scripts/sign_rproc_fw.py --in ${BuildArtifactFileBaseName}_stripped.elf --out ${BuildArtifactFileBaseName}_sign.bin --key ../../../../Utilities/optee_os/keys/default.pem --plat-tlv BOOTADDR 0x80100000Copy the .bin to /lib/firmware on the target board and execute it.Then, OpenSTLinux on
Hi, I am trying to flash our software to our STM32MP13xx MPU. I am able to connect to the device using the STM32 Programmer CLI. The first file in the .tsv file list is downloaded succesfully to the device, but then I run into the following errors: "-------------------------------------------------------------------STM32CubeProgrammer v2.19.0------------------------------------------------------------------- USB speed : Full Speed (12MBit/s)Manuf. ID : STMicroelectronicsProduct ID : DFU in FS Mode @Device ID /0x501, @Revision ID /0x1003SN : 0015001E3033510430393732DFU protocol: 1.1Board : --Device ID : 0x0501Device name : STM32MP13xxDevice type : MPURevision ID : --Device CPU : Cortex-A7Start Embedded Flashing serviceOpening and parsing file: tf-a-intuedrive-stm32mp135x-512m-usb.stm32Memory Programming ...File : tf-a-intuedrive-stm32mp135x-512m-usb.stm32Size : 74.74 KBPartition ID : 0x01Download in Progress:██████████████████████████████████████████████████ 100%Fil
Hi there,after last Copilot update inside IDE 1.19.0, I always have an error after the project is loaded:After that the IDE close itself, a little window shows a message I'm not able to read (I think it is a update attempt, there is a red label on the bottom, too quick), and then everything is closed.Please, I can i solve it ?? -- ADDEDI found the c:\ST\STM32CubeIDE_1.16.0\STM32CubeIDE\configuration\1756799750460.log file that reports:!SESSION 2025-09-02 09:55:50.216 ----------------------------------------------- eclipse.buildId=Version 1.19.0 java.version=21.0.3 java.vendor=Eclipse Adoptium BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=it_IT Command-line arguments: -os win32 -ws win32 -arch x86_64 !ENTRY com.microsoft.copilot.eclipse.ui.terminal.tm 4 0 2025-09-02 09:55:51.033 !MESSAGE FrameworkEvent ERROR !STACK 0 org.osgi.framework.BundleException: Could not resolve module: com.microsoft.copilot.eclipse.ui.terminal.tm [991] Unresolved requirement: Require-Bun
Been looking around how to install GCC native ARM tool-chain on the STM32MP1 & MP2 to be able to build C applications on an ARM host. Is that possible or it can only be done with a Intel based cross compiler ?
I am attempting to modify the code in the STM32MP257f-ev1 GPIO_EXTI_CM33_NonSecure example to use LED2 vs LED3. The example runs correctly with the code provided, but simply changing LED3 to LED2, it does not run properly. The code compiles without error, yet LED2 does not illuminate when user button 2 is pressed. Following the provided code and reference manual documentation, RM0457 Rev5 / pg.861, it appears all of the code is present in the example. To initialize LED2, VDDIO3 must be powered up to provide power for Port D I/Os. LED2 is on Port D. During debug, the debugger does not stop at main, even though the Set breakpoint at main is checked in the Startup tab of my Debug configuration. This prevents me from stepping through the code to potentially identify what is going wrong. I have tried manually setting breakpoints and those seem to be disregarded as well. Skip all breakpoints is not enabled.Furthermore, I do not know a way to verify whether VDDIO3 does in
When a STM32MP2 is "USB/UART for programming" mode i.e. all boot switchs off.I am running Ubuntu This happens: STM32_Programmer_CLI --list ------------------------------------------------------------------- STM32CubeProgrammer v2.20.0 ------------------------------------------------------------------- ===== DFU Interface ===== Total number of available STM32 device in DFU mode: 1 Device Index : USB1 USB Bus Number : 003 USB Address Number : 006 Product ID : Serial number : Firmware version : 0x0110 Device ID : unknown You can't flash it.When you try you get this error? Error: TSV files are only supported for STM32MP The problem at appear to be https://github.com/fwupd/fwupd sudo systemctl stop fwupd This will help how (it may restart)dmesg showed [ 5746.249668] usb 3-5: usbfs: process 30885 (fwupd) did not claim interface 0 before use
Dear ST Team,We have recently completed production on our custom STM32MP255-based hardware. During validation, we encountered an issue with the Ethernet MAC address handling.We have successfully programmed the MAC addresses into OTP (via the NVMEM interface), and confirmed the values are correctly stored in the fuses (words 247–249). However, both U-Boot and Linux are not retrieving the MAC addresses from OTP automatically. Instead, we observe errors such as:Loading Environment from MMC... OKIn: serialOut: serialErr: serialNet:Error: eth2@482d0000 address not set.Error: eth1@482c0000 address not set.Error: eth2@482d0000 address not set.No ethernet found.Card did not respond to voltage select! : -110No EFI system partitionNo EFI system partitionFailed to persist EFI variablesError: eth2@482d0000 address not set.Error: eth1@482c0000 address not set.Hit any key to stop autoboot: 0STM32MP> fuse read 0 247Reading bank 0:Word 0x000000f7: cd641f8cSTM32MP> fuse read 0 248Reading bank 0:W
Hello,I was wondering if STM32MP1xx devices are planned to be supported in STM32 VScode extension ?Best regards,Maxime
bitbake st-image-weston -c populate_sdk This works without the populate-sdk optionwith the SDK an python error occursI can't find a way to get around this by cleanstate or clean glibc.Attached the log.Then did:bitbake -ccleansstate glibc-localebitbake glibc-locale which went fine (see attachment)but then the build failed again with the same error
I have an STM32MP257F-DK and attempting to build STM32 Distro using docker as it requires an older Ubuntu version.After creating docker images and installing all requires packages, enter container as non-root: Following steps uild@916e5975cf9f:~/yocto$ repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11 repo: reusing existing repo client checkout in /home/build/yocto repo has been initialized in /home/build/yocto build@916e5975cf9f:~/yocto$ repo sync Syncing: 85% (6/7), done in 2.957s Syncing: 100% (7/7) 0:05 | 1 job | 0:02 bitbake @ layers/openembedded-core/bitbakerepo sync has finished successfully. build@916e5975cf9f:~/yocto$ DISTRO=openstlinux-weston MACHINE=stm32mp25-disco source layers/meta-st/scripts/envsetup.sh IMAGE=st-image-weston [ERROR] 'IMAGE=st-image-weston' : please provide BUILD_DIR with 'build' prefix. build@916e5975cf9f:~/yocto$ ^C build@916e5975cf9f:~/yocto$ Tried:export BUILD_DIR="$
Hi, Since the STM32CubeIDE "Target status widget" for some reason isn't receiving the IP address of my STM32MP135F-DK board, I want to try creating a new SSH connection manually. Could someone please tell me how to configure the dialog box below: Do I also need to change the settings in the dialog box below?
Hello all,I'm new with STM32MP157F-Disco board. So maybe i do something wrong, but i cant find a solution. I use CubeIDE_1.18.0 with packages STM32Cube_FW_MP1_V1.7.0. When i start a new project with the board selector, STM32MP157FAC1. Then it will make a new project and you can build that project. When i add FreeRTOS for CM4 and change the Timmer to TIMX and the SYS to that timer and i build the project, it says ;fatal error: freertos_mpool.h: No such file or directory.Why does it not include the: freertos_mpool.h ? Because it is in the STM32Cube_FW_MP1_V1.7.0 in the correct location, but CubeIDE does not copy it to the project for some reason.Also when i change in FreeRTOS ->advanced settings -> USE_NEWLIB_REENTRANT to Enable. It says it can't find newlib-freertos.h: instead of reent.h is this a bug, does any one ells has this problem.I have the same problem on different computers(Windows and linux).I hope someone can help me with this problem.I you need
Hi,I followed the steps in the link below, minus "populate target," but I was able to successfully compile, transfer, and run the C example.https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP135x-DKI also managed to create and compile an OpenSTLinux C project for the STM32MP135F-DK board using STM32CubeIDE.Now I'm having trouble debugging the code.My STM32MP135F-DK board has Ethernet working, and I can communicate with it using SSH. The STLINK interface of the Ubuntu host PC is working. I can use it to load MCU firmware onto a Nucleo board. The STlink serial port is also working, as I can connect to the board using the Minicon terminal and execute commands as shown in the link below:https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP135x-DK/Let%27s_start/Execute_basic_commandsThe difference in relation to the link is in the item: "Printing distribution specific information", which for my board shows: BB_VERSION = 2.0.0BUILD_SYS = x86_64-
Hi,I'm trying to get ADC working on ST32MP257F-DK board. There is no example in ST's sw-package and the example for ST32MP257F-EV1 board fails in HAL_ADC_Init -function giving error messages:stm32_serc_handle_ilac:134 SERC exceptions [63:32]: 0x8000000stm32_serc_handle_ilac:140 SERC exception ID: 59Can somebody help, what is the difference between these boards with ADC? (And why there is no ADC example for ST32MP257F-DK?)
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.