Get ready for the STM32 Summit 2026 | Online, November 3
Join conversations with your peers and ST experts. Explore the full potential of STM32 microprocessors for your embedded design.
Most recent activity
Hi,I’m planning to use OpenSTLinux for an upcoming project and would like to confirm whether it supports Wi-Fi Direct functionality. Additionally, I would greatly appreciate any references, application note or technical documentation detailing the implementation and operation of Wi-Fi Direct within the OpenSTLinux framework. Thank you so much in advance.
Hi, we are developing a custom board based on the STM32MP157C. We would want to use several GPIOs for buttons. We have most of them working, but a couple GPIO pins do not yield input events to the Linux kernel. The problematic pins are PC1, PC2, and PH7. In U-Boot, I can read all these pins and they reflect the state of the button. Below is what happens reading the pin before pressing the corresponding button, while pressing it, and after releasing the button. So the button is connected to the CPU pins and is active high: QSMP U-Boot > gpio input gpioc1gpio: pin gpioc1 (gpio 33) value is 0QSMP U-Boot > gpio input gpioc1gpio: pin gpioc1 (gpio 33) value is 1QSMP U-Boot > gpio input gpioc1gpio: pin gpioc1 (gpio 33) value is 0QSMP U-Boot > gpio input gpioc2gpio: pin gpioc2 (gpio 34) value is 0QSMP U-Boot > gpio input gpioc2gpio: pin gpioc2 (gpio 34) value is 1QSMP U-Boot > gpio input gpioc2gpio: pin gpioc2 (gpio 34) value is 0QSMP U-Boot > gpio input gpioh7gpio: pin gp
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
Can I install pyenv on my STM32MP257F-EV1 DK to manage python versions?I am currently running the starter package and have access to py 3.12.9I would like to run scripts with py v3.11.9At this stage I am not interested in updating the image - so please let me know what I can do as a work around. Thanks!
I know, it's probably a design flaw, but hear me out.I'm designing a board with an STM32MP135 (in the form of a Myir Tech SoM). I have both USB1, and USB2 configured as USB-A / host mode. There is also an FTDI chip attached to UART4 for a console.The problem that I'm having is that when I try to enter USB DFU mode (bootn = 0, 0, 0) it will only work if I connect through an OTG-style adapter to another USB-A port. The only way that I can get it to enumerate is if I connect USB2 (type A plug on the target) to a USB-C to A converter, and then to a USB-A port on the laptop. If I connect USB-A on the target to USB-C on the laptop it does not enumerate at all and if I connect via a powered HUB it gets stuck in some sort of enumeration loop.This is the first board revision and I did not expect to need USB-OTG so those pins are floating, which I'm guessing is what I've missed, but I can't find where it mentions how they are used in the documentation. I don't have any use for USB-OTG otherwise.
Hi,When transmitting data to the ttySTM0 port, the data goes to the UART4_TX pin connected to the JTAG virtual serial input. However, I need an available TTL serial port to communicate with a microcontroller. How do I enable the USART1 port connected to the PC0/PB0 pins?To which pins is the ttySTM3 port linked? How do I enable it? root@stm32mp1:~# dmesg | grep tty[ 0.000000] Kernel command line: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200[ 0.598790] 40010000.serial: ttySTM0 at MMIO 0x40010000 (irq = 61, base_baud = 4000000) is a stm32-usart[ 3.619483] printk: console [ttySTM0] enabled[ 4.294977] 4c001000.serial: ttySTM3 at MMIO 0x4c001000 (irq = 62, base_baud = 4000000) is a stm32-usart[ 4.304256] serial serial0: tty port ttySTM3 registered[ 11.426540] systemd[1]: Created slice Slice /system/getty.[ 11.502583] systemd[1]: Created slice Slice /system/serial-getty.
Hello,I’m currently rebuilding the device tree (DTS) for our custom board. I’ve modified the pin configurations according to our schematic. Could you please confirm if updating only the following files is sufficient for our customization?stm32mp257f-ev1.dtsstm32mp25-pinctrl.dtsiMy understanding is that these two files should cover the required pin configuration changes for our board, and the rest of the device tree files can remain unchanged.Also, I would like to avoid the consumer=kernel messages that appear when running the command: cat /sys/kernel/debug/pinmux-pins/*/pinsCould you please confirm if my approach is correct, or if there are any additional changes needed elsewhere in the device tree?Best regards,Preetham.Please suggest points that help to my work.
Does anyone know how to see and set the cacheable status of memory regions in an MP25x series micro? It is very simple for the H755: you pull up the cores in the Cube, and the MPU fields are all there to fill out. The memory regions outlined in the RIF sections for the MP2 do not seem to offer this option. Thanks
Hey,,I'm working on an STM32MP2 project and need help with Yocto. I generated a device tree with CubeMX and want to modify it so that I can activate the ums 0 mmc 1 command in the U-Boot terminal with the USB configured for 3.x speeds instead of the 2.0 basic configuration, then build a Yocto image (e.g., st-core-weston). Where do I place the DTS files, and how do I integrate them into the Yocto build?Any tips or guides would be great!Thanks!
Hello,I am currently using the DDR Utility in STM32CubeProgrammer to tune the DDR4 on my STM32MP257F-EV1 board.I would like to perform infinite read and write tests on DDR to check the stability over time.From the documentation, I found that there is a flag called TEST_INFINITE_ENABLE that can be defined in the project to enable infinite testing.Could someone please clarify:Where exactly should I define this TEST_INFINITE_ENABLE flag (e.g., in ddr_tests.c or as a project preprocessor define)?How can I start and stop the infinite test when using the DDR Utility or STM32CubeIDE debugger?Are there any example scripts or recommended settings for long-duration DDR stress testing?Thanks in advance for your support
Hello ST Community,I am working with the STM32MP257F-EV1 Evaluation Board and following the steps described in the official STM32 DDR Firmware Util documentation as per attached document below.While performing the DDR firmware update and running the DDR utility using STM32CubeProgrammer, I encountered the following issues:When I try to load the DDR utility binary (STM32MP257F-EV1_DDR_UTILITIES_A35_nopad_no_el3lnch.stm32) and other binaries generated in the process have also been uploaded and downloaded same error as in the attached image we have used DFU mode 0000 and in USB connection is used, STM32CubeProgrammer shows an error message:“Error: Please specify Binaries path”for your reference we have attached the image .Environment details:Board: STM32MP257F-EV1Connection: USB (DFU mode)Tool: STM32CubeProgrammer (latest version)OS: Windows 11Binary used: STM32MP257F-EV1_DDR_UTILITIES_A35_nopad_no_el3lnch.stm32Repository: STM32DDRFW-UTILQuestions:How can I correctly set the binaries path
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
Hello! I am getting this error, and tried everything I think, getting this error:root@br-elec-01011-mu-rvt70hsmnwc00:~# dmesg | grep error && ls -l /dev/ttySTM*[ 1.286601] stm32mp157-pinctrl: probe of soc:pin-controller-z@54004000 failed with error -22 Not sure if it is ok or not. Main components seems to work fine. But I am new to this, so not sure if it can cause issues along the way.
Due to the default removal of CPUFreq configuration in the patch file after applying RTpatch, I am unable to obtain the current CPU frequency through the following command.reference:如何更改 CPU 频率 - stm32mpuI also try lscpu and /proc/cpuinfo and so on.They can't solve it. I checked the CPU frequencyIs there any other way? @Olivier GALLIEN
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 ?
Hello,I'm trying to use a camera with the board STM32MP257F-EV1.I already flashed the SD card according to the wiki https://wiki.st.com/stm32mpu/wiki/STM32MP25_Evaluation_boards_-_Starter_Package. But I don't have the camera board B-CAMS-IMX, but the STEVAL-55G1MBI. I also don't have the LCD display. I also installed the Developer package according to the wiki https://wiki.st.com/stm32mpu/wiki/STM32MPU_Developer_Package#Installing_the_SDK.When I use the command "cam -l", it doesn't find any available cameras.When I use the command "i2cdetect -y 0", it doesn't show any active I2C connection on this port.I also generated a new device tree with STM32CubeMX for the board, and activated the CSI and DCMIPP interfaces. Then I compiled the device tree according to the wiki https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Developer_Package and copied it to the folder root@192.168.7.1:/boot/, then I rebooted but I still didn't wor
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
Hello,on a stm32mp257f-ev1 board I'm developing a non secure M33 firmware using hpdma3.I configured hpdma3 on optee RIF DT to be used only by M33 (CID2) for all channels as follow&hpdma3 { st,protreg = < RIFPROT(RIF_HPDMA_CHANNEL(0), RIF_UNUSED, RIF_UNLOCK, RIF_NSEC, RIF_NPRIV, RIF_CID2, RIF_SEM_DIS, RIF_CFEN) ......................................................................................... ......................................................................................... RIFPROT(RIF_HPDMA_CHANNEL(15), RIF_UNUSED, RIF_UNLOCK, RIF_NSEC, RIF_NPRIV, RIF_CID2, RIF_SEM_DIS, RIF_CFEN) >; };When I debug the firmware on CubeIDE if I try to inspect HPDMA3 registers using "SFRs" tab I get on linux console iac exceptions of this type: E/TC:0 stm32_iac_itr:192 IAC exceptions [159:128]: 0x200000 E/TC:0 stm32_iac_itr:197 IAC exception ID: 149 E/TC:1 stm32_iac_itr:192 IAC exceptions [159:128]: 0x10000000 E/TC:1 stm32_iac_itr:197 IAC exception ID: 156 E/TC:1 stm32_i
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
Hi,I have the STM32MP257F-EV1 and I would like to load a kernel patched with X-LINUX-RT. I am after the PREEMPT_RT functionality.I have followed the instructions from https://wiki.st.com/stm32mpu/wiki/X-LINUX-RT_expansion_package#How_to_install_X-LINUX-RT_in_the_OpenSTLinux_Developer_Package so that I can patch the kernel and load it to my board.I have followed these instructions and also applied the patches and fragments from https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP2_boards/STM32MP257x-EV1/Develop_on_Arm%C2%AE_Cortex%C2%AE-A35/Modify,_rebuild_and_reload_the_Linux%C2%AE_kernel#Prepare_the_Linux-C2-AE_kernel_source_codeThe build happened fine but when I load the kernel and modules to the board I get the following error and get stuck in boot loop:[ 24.393964] Time out check load galcore module expired [ 25.312479] stm32mp_pm_domain power-domain-d1: sync_state() pending due to 48280000.gpu E/TC:0 Panic 'Watchdog' at /usr/src/debug/optee-os-stm32mp/4.0.0-stm
I want to install the codesys linux SL runtime on a STM32MP157-DK2.Dynamic libraries needed by the CODESYS Control Runtime binary:libm.so.6libpthread.so.0libdl.so.2librt.so.1libc.so.6libgcc_s.so.1Third-party requirements: - libc >= 2.27 (required by CodeMeter Runtime)Is it possible to install this on OpenSTLinux ?
I am trying to decrease the DDR Clock Frequency for STM32MP257F-DK board. I used STM32CubeMX Tool to change clock tree and generate the modified device trees and made the required changes, compiled and flashed, but still the ddr clock remains the same. My question is:1. What are the changes to be done to change the ddr clock frequency and if i am following the right path or not?2. Are there any user space commands I can use to do so?
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
Hi Dear Sir,I am using linux6.6.48 (with st patch)based on stm32mp135d,I trying to setup DMA2D but cannot find correct dts setting. and I can see the dma2d driver is supported in this kernel. but how to config dma2d in dts ?please help. thank you very much.
I have a STM32MP135F with a 3V3 47mF supercap on its VBAT line.Internal RTC appears to work fine with power outages up to 3 or 4 hours, whereas I hoped one day. I see in datasheet "Table 27. Current consumption in Vbat mode" that I can tweak VBAT powered sub-components to reduce this set (Backup SRAM, ) and increase RTC backup duration, but I fail to find those settings. Does anyone have it in mind? I am using Yocto and OpenSTLinux on a board derived from DK2. Regards
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.