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,We’re working with an STM32MP157DAC SoM for driver development and testing. Right now, every time we make a change, we have to rebuild the full image, which takes around 1 to 1.5 hours. I’d like to speed this up by building only the kernel separately and then copying just the updated driver file to the board for testing. Could you share any documentation or links that describe this process, or outline the steps needed for a standalone kernel build?Regards,Adnan
Hi ST,I'm working with the STM32MP257FAI3 Processor and have some concerns regarding DQ bit swapping between the SoC's DQ lines and the DDR4 RAM DQ lines.I'm already aware of the guidelines document mentioned in this solution.From my understanding of the document,DQ bits within a byte lane and DQ byte lanes are invariant in a device, allowing for appropriate swapping. However, the DqxLnSel registers should remain at their default values.This applies to DDR4, and there is no need to configure DQ bit swapping in arm-trusted-firmware. The DDR firmware and DDRCTRL internal PMU will manage DQ swapping during the initial training.Can anyone validate my understanding?Thank you in advance.
Hello,I have a stm32mp257f-dk and I would like to create an STM32Cube project for my board.To be able to use the board, I have put in the eMMC the tsv file provided in the starter pack:`en.FLASH-stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05/stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05/images/stm32mp2/flashlayout_st-image-weston/optee/FlashLayout_emmc_stm32mp257f-dk-optee.tsv`My project aims to use the OpenAMP stack. I was able to flash the example which works very well but it does not have a .ioc file (which is necessary for my project).So I used the STM32CubeMX Board Selector to generate an empty project.First problem (screen 1), CubeMX tells me that DSIHOST, MDF1, and RCC are in conflict.Since I don't need the Digital Filter and the screen, I disabled them.I still have the RCC conflict. My code compiles but when flashing the project on the Cortex-M33, it crashes and here are the logs:```[ 34.029164] vddio3: disabling[ 34.029233] vddio4: disabling[ 34.029495] vdda18
Hi I am using Marvell Ethernet Phy(mv88q2220) in our project,i have integrated my Marvell driver into SDK and it is probing as well, we are using sxgmac driver for mac, while i am trying to initialize the eth0 interface i am facing issues related to validation of phy and phy is not able to attach.I have checked the phy-mode also it is configured correctly. I am attaching the error logs also, Can anyone suggest what could the potential cause of this issue ? Error Logs: root@sadk:~# ifconfig eth0 192.168.10.1 upSIOCSIFFLAGS: Invalid argumentSIOCSIFFLAGS: Invalid argument Dmesg Logs: [ 55.096204] sxgmac 16cc8000.ethernet eth0: validation of with support 00000000,00000000,00006000 and advertisement 00000000,00000000,00000000 failed: -EINVAL[ 55.096449] sxgmac 16cc8000.ethernet eth0: __stmmac_open: Cannot attach to PHY (error: -22)[ 55.364867] sxgmac 16cc8000.ethernet: is_dsp_running changed to true[ 55.365900] sxgmac 16cc8000.ethe
Hello, I want to boot Linux straight from the FSBL, avoiding SP-Min and U-Boot. Is there any configuration or information on how to do this? Thank you. I got a STM32MP157F-EV1 board, I wouldn't mind using TF-A or U_Boot SPL, I am also looking at U-Boot SPL Falcon mode but finding very little information about it.
Hi Community,I am working with an STM32MP257 interfaced with 16 bit DDR4 of 2 number (16 bit * 2 = 32 bit = 1 word). I would like to clarify whether the swizzle bit register values actually affect the DQ pin bit-swapping in hardware.If they do, I need some guidance on how to determine the correct swizzle bit register values. Are there specific calculations or methods recommended for this ?I have attached my schematic showing the DQ bit swapping with the processor. Any assistance or reference material would be greatly appreciatedThank you in advance!!
Hello, we are currently designing a STM32MP257 based custom PCB. During the PCB design of LPDDR4 interface, we realized that the excel table provided by ST includes the package pin to PCB lengths and the calculations are done based on the track lengths, not delays. Since the PCB materials may differ from one board to another, the propagation delay values are needed, rather than the pin length values in order to implement a successful time matching. Could you provide us with the package to pin propagation delay values for STM32MP257FAI3? Thanks in advance.
Hii Team,I'm working on an ISP tuning project for an IMX219 sensor on an STM32MP257F-DK board, using the X-LINUX-ISP package and the ISP IQTune tool.I am facing some errors like1. The COM port is not getting detected in the ISP IQTune tool and giving error asWaiting for board detection service2. Also when I run the python code from x-linux-isp tool it is giving a resolution errorThe board is recognized by my laptop using acm command and lsusb but it is not coming in the application.My Question is :1. What is the reason for it to get detected in the laptop but not the application?2. What other changes are required so that the board gets detected?3. Why this resolution error and how can i resolve this error?
IHello, I am using the STM32MP257 platform and the user mode system programming adopts CAN0 loopback mode for self collection. I found that there is a probability of reporting the following exception in dmesg:ifconfig:
I’m working on an STM32MP135 (STM32MP13‑DISCO) using Yocto/OpenSTLinux 5.15 and trying to get SPI5 working via the spidev interface. My device tree configures SPI5 pins and enables spidev@0 at 500 kHz (see DTS fragment below). /dev/spidev0.0 appears on boot.For testing, I have physically connected MOSI to MISO for loopback, and CS (PH11) is connected to the peripheral and can be pulled low. I run the loopback command:./spidev_test -D /dev/spidev0.0 -s 500000 -vHowever, the transfer fails with:spi mode: 0x0 bits per word: 8 max speed: 500000 Hz (500 KHz) [ 494.413391] spidev spi0.0: SPI transfer timed out [ 494.416807] spi_master spi0: failed to transfer one message from queue can't send spi message: Connection timed out Aborted (core dumped)I have confirmed:Device tree compiles without errors./dev/spidev0.0 exists and matches my DT config.Avoided “-l” (SPI_LOOP) mode, which is unsupported by STM32.Still timed out in a simple loopback.My device tree fo
I'm having a persistent /!\-icon sticking to my project icon. It's annoying. How can I get rid of this? I cannot see another such icon attached to any object in the project tree branches, if I didn't overlook any.The project builds without any errors.
Dear ST Developer Support,How to enable MIPI DSI panel on STM32MP257F-EV1?Does it have any user guide for reference?I only found dsi to hdmi board on device tree.I urgently need your help! Thanks.
Hello, I'm in the process of designing an edge computer using a MP2 processor. Due to the shortage of LPDDR4 memories, I'd like to use LPDDR4X memories. Can I use this type of DRAM for MP2 series processors? Or do you have any alternative part that I could consider for my design? Thanks in advance,Daniel
Hi ST Team,1. I have followed the steps mentioned in link to build the yocto for stm32mp25-eval machine and can successfully flash the eMMC tsv file .2. Started to explore on creating a custom machine configuration file and custom layer in the yocto( openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06 distribution package.),and build the package using the steps mentioned below.CUSTOM LAYER AND MACHINE CREATION STEPS==========================================1) I have created a layer outside meta-st , because I wanted to create a custom layer without disturbing the actual openst yocto layersi) bitbake-layers create-layer layers/<custom_layer_name>ii) bitbake-layers add-layer layers/<custom_layer_name>iii) mkdir conf/machineiv) cp layers/meta-st/meta-st-stm32mp/conf/machine/stm32mp25-eval.conf nameof_custom_machine.confv) DISTRO=openstlinux-weston MACHINE=nameof_custom_machine source layers/meta-st/scripts/envsetup.shvi) Due to layer dependency issue , added the dependent laye
Hi,the TRM of the STM32MP257F describes different possibilities to boot the controller including the possibility to boot from eMMC or SD-card. And when looking to the EV-board, there are DIP-switches to choose eMMC or SD-card as boot-device too.But what I can't find: how does this work exactly? How do I have to format eMMC/SD-card and what do I have to place on these devices in order to let a bare-metal application being loaded? Is there a documentation available somewhere that describes this in detail?Thanks!
Hi, I saw this post on the forum about 'M33 cold boot' and the possible release of the ecosystem to do so :https://community.st.com/t5/stm32-mpus-products-and-hardware/using-only-the-m33-on-the-stm32mp2-feasibility-and-peripheral/td-p/768536Is there any update about it ?If released, will it be possible for the M33 to launch the boot process of the Cortex-A and maybe power it off depending on the context ?Thanks.Regards.
Hello,I have a problem with the configuration of LAN8720A with STM32MP151. My log looks good, but I have a problem when I plug in the wire to the RJ45 port, I get 'Link is down', and vice versa when I plug it out, 'Link is up'.Here is part of my DTS&ethernet0 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&eth1_pins_mx>; pinctrl-1 = <&eth1_sleep_pins_mx>; status = "okay"; /* USER CODE BEGIN ethernet0 */ phy-mode = "rmii"; st,eth_ref_clk_sel; max-speed = <100>; phy-handle = <&phy1>; nvmem-cells = <&ethernet_mac_address>; nvmem-cell-names = "mac-address"; u-boot,dm-pre-reloc; mdio0 { u-boot,dm-pre-reloc; #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; phy1: ethernet-phy@0 { u-boot,dm-pre-reloc; reg = <0>; /*compatible = "ethernet-phy-ieee802.3-c22";*/ compatible = "ethernet-phy-id0007.c0f1"; /*compatible = "ethernet-phy-ieee802.3-c45";*/ reset-gpios =
Hello, I want start on a project using the STM32MP157 processor.Working on an embedded Linux OS is a first time for me. I understand that there is a steep learning curve to get the OS running an embedded system. Is there any advice for a new comer? Particularly is there a board that is easy for me to experiment on.
Hi All,Is there any way to cross compile STM32MP linux user state tasks on STM32CubeIDE on Win11.
Hi ThereSome help please! I am using STM32CubeIDE to create and manage a Linux build for the STM32MPU257. I have so far got everything building and working. I used the Import Linux project function in the IDE to point towards all the correct source locations that i set up using the Developer Package method. My question is that when i go into 'build artifacts' and kick off a build, its takes soooooooo long! I have tried to update the make files to run -j12 to parallel up the make in Yocto but I cant seem to do this. if i build the Distribution package i can modify the .conf file to enable this. But when using the IDE to start the builds in the Development Package, i cant see a way to do this. Could you offer some help as to enabling the parallel make features when building this way??? Thanks
Hello everyoneI am trying to flash the STM32MP257F-EV1 board using Programmer and now I am getting this error. Before that I followed the instructions of enable secure and ssp.And can I renew the board Thank
Hello,I am designing a custom board with stm32mp257,As given in evm it is connected with 4GB eMMC on SDMMC2, But I require 32GB 0r 64GB, can you suggest some eMMC for it.Best RegardsAbhineet Ranjan
I am trying to debug a basic project on a STM32MP257F-DK board, and am running into an issue. This is the text of the error I get every time I debug: 'Launching <project>_CM33 Debug' has encountered a problem.Error in final launch sequence:Failed pre launch========================Error in final launch sequence:Failed pre launchFailed pre launchFirmware remoteproc load failed, please:1. make sure that /lib/firmware on your target has space2. make sure that /lib/firmware has write access> you can open a Console View for this..Building results in no errors. I have verified that there is space and write access for the location it mentions, and I can see that the .elf file for the project gets written there. I have also gone through all the steps here without an issue: https://wiki.st.com/stm32mpu/wiki/STM32MP25_Discovery_kits_-_Starter_Package. I can also ssh into it without a problem. I have tried it on both Windows 11 and Ubuntu 24.04. A couple other people have b
I am trying to configure a USB-C connector on a peripheral device to detect VBUS via GPIO (PH9). I have tried several iterations using the following device tree documentation.- 3.3.1. DT configuration example as high speed OTG, with micro-B connector, Vbus and ID mapped on GPIOs- 3.3.3 DT configuration example as USB2-speed only USB3DR in Peripheral mode, with micro-B(ID left unconnected) or Type-C connectorThe only way I have been able to get USB traffic to occur is by using the role-switch-default-mode attribute, but that comes with the warning about VBUS:Forcing default mode bypasses the vbus detection, which is normally required to raise the pull-up resistor on D+ data line. This makes it non compliant with USB specifications. Recommended method to implement peripheral only role, is to use GPIO to detect Vbus, And I suspect this warning is the reason why USB traffic doesn't come back after coming back out of suspend/low-power mode.Example snippet of a configuration I've t
We actually experience the problem that the address of the SysTick_Handler is read incorrectly from the memory address of the SysTick ISR in the memory. This leads to a memory management error when the system counter reaches 0 and the SysTick interrupt is fired. When reading the memory, there is the correct address for the Systick_Handler displayed, as shown in the following screenshot. However, when the SysTick interrupt is fired, the system crashes as shown in the following screenshot, although the address in the memory does not change.I also found out, that reading out the ISR table as shown in the following screenshot, the address for the SysTick_Handler is not read correctly. But this only happens for the memory cell of the SysTick_Handler.I also tried to write random values to this memory address and it does not work properly as well. Only the lower two bytes are written correctly the upper 2 bytes remain unchanged. This seems to be the common symptomatic: upper 2 byte are n
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.