Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors, including hardware, power, DRAM, flashing, interfacing, device tree, and peripherals.
Most recent activity
Hello, Happy new year !I create my custom board with STM32MP153C I try to boot but I have an issue. Starting systemd-udevd version 255.17^ root '/dev/disk/by-partuuid/e91c4e10-16e6-4c0e-bd0e-77becf4a3582' doesn't exist or does not contain a /dev. [ 14.557600] platform 5a006000.usbphyc: deferred probe pending [ 14.561992] platform 5800c000.usb: deferred probe pending [ 14.567427] platform 50001000.pwr: deferred probe pending [ 14.572778] platform 49000000.usb-otg: deferred probe pending [ 14.578559] amba 58005000.mmc: deferred probe pending [ 14.583629] platform 5800d000.usb: deferred probe pendingI change SD card I change some settings in device tree of kernel vqmmc-supply but I don't undestand in UBOOT I can explore my sd card Hit any key to stop autoboot: 0 STM32MP> mmc list STM32 SD/MMC: 0 (SD) STM32MP> mmc dev 0 switch to partitions #0, OK mmc0 is current device STM32MP> part list mmc 0 Partition Map for MMC device 0 -- Partition Type: EFI Part Start
Hi!I accedently used STPMIC25A instead of STPMIC25D when I want to boot A35 from SD card.According to AN5727 page 13, topic 4.1.8. it says that if the MP257 is going to boot from SD card, then the STPMIC25D must be used instead of STPMIC25A due to LDO7 and LDO8 are dedicated for 1.8/3.3V at initial boot.My question is: is there any soldering fix I could use to borrow voltage from another Buck/LDO output from STPMIC25A?My goal is just to boot TF-A. Suggestion:I use LDO2 for VDD_SD and VDDIO_SD. LDO2 boots at 3.3V. My SD-card might be UHS-I, but I'm guessing that it can run at low speed as well (3.3V pull-up). Edit 1:I cut of the traces from VDD_SD and VDDIO_SD and connected them to LDO2. Now I have 3.3V on the SD Card and its pull-up. But no signs of output of the USART6. The CLK of SDMMC1 has been started. I guess that the BootROM understand its purpose when telling 0b0001.
Problem descriptionI have a custom board based on STM32MP157FAA.The SD card boots perfectly in:ROM bootTF-A BL2 (FSBL)But once control reaches U-Boot, the SD card becomes completely unusable and U-Boot shows continuous: stm32_sdmmc2 mmc@58005000: cmd 55 failed, retrying ...U-Boot cannot read environment, cannot rescan the card, and reports “No block device”.This is very confusing because the same SD card and hardware clearly work during ROM and TF-A stages.Boot logTF-A / BL2 (working)INFO: Using SDMMC INFO: Instance 1 INFO: Boot used partition fsbl1 ... INFO: BL2: Loading image id 5 NOTICE: BL2: Booting BL32No SD errors at all.U-Boot (failing)U-Boot 2023.10-stm32mp-r2MMC: STM32 SD/MMC: 0, STM32 SD/MMC: 1Loading Environment from MMC...stm32_sdmmc2 mmc@58005000: cmd 55 failed, retrying ...*** Warning - No block device, using default environment ...Saving Environment to MMC... No block deviceAlso in U-Boot:Clocks:- MPU : 0 MHz- MCU : 0 MHz- AXI : 0 MHz- PER : 0 MHz- DDR : 0 MHz
I am trying to connect the STM32MP257F-EV1, following the guide on the wiki. Followed the LInux preparation. At startup, I get a blinking RED LD1 and steady green LED When start the laptop on windows, the device manager shows a DFU device a. But when booting up LInux, no device in DFU mode is detected by CubeProgrammer 2.210, either through the GUI or the CLI interface.Having tried several possible workarounds—such as changing cables, reinstalling drivers and VMs, and reinstalling CubeProgrammer and the supporting software The board seems to be working as when I reconfigure the boot switches, the display and camera work OKCould someone suggest what I might be doing wrong or if there is a known solution?Linux shows this:T: Bus=01 Lev=01 Prnt=04 Port=02 Cnt=01 Dev#= 11 Spd=480 MxCh= 0D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1P: Vendor=0483 ProdID=df11 Rev=02.00S: Manufacturer=STMicroelectronicsS: Product=DFU in HS Mode @Device ID /0x505, @Revision ID /0
Hello,Im having an issue with flashing of OpenSTLinux on STM32MP157F-DK2 ------------------------------------------------------------------- STM32CubeProgrammer v2.21.0 ------------------------------------------------------------------- USB speed : High Speed (480MBit/s) Manuf. ID : STMicroelectronics Product ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000 SN : 002C001F3133511735343431 DFU protocol: 1.1 Board : -- Device ID : 0x500 Device name : STM32MP15xx Device type : MPU Revision ID : -- Device CPU : Cortex-A7 Start Embedded Flashing service Opening and parsing file: tf-a-stm32mp157f-dk2-optee-programmer-usb.stm32 Memory Programming ... File : tf-a-stm32mp157f-dk2-optee-programmer-usb.stm32 Size : 220.41 KB Partition ID : 0x01 Download in Progress: [==================================================] 100% File download complete Time elapsed during download operation: 00:00:07.952 RUNNING Program ... PartID: :0x01 Start operation done successfull
Hello, I am using a STM32MP135F on a custom board which is working well using SD Card (sdmmc1).The SDCard is partitioned as: 1) fsbl12) fsbl23) fip4) bootfs5) rootfsFrom the SDcard system, I try to prepare the eMMC (4GB, sdmmc2).I tried different configurations:- mmcblk1p1boot0 (and boot1) contains fsbl1 (tf-a*.stm32), mmcblk1p1 contains fip => Could NOT find the fip partition! (although it contains the right GUID for fip partition 19...)- mmcblk1p1boot0 contains fsbl1 (tf-a*.stm32) and fip (at offset 256KB => dd seek=512 bs=512) with STM32MP_EMMC_BOOT=1 => FIP magic failed (get_boot_part_fip_header: eMMC boot magic at offset 256K: 0a040001 / boot_mmc: Can't find FIP header on eMMC boot partition. Trying GPT. VERBOSE: MBR boot signature failureVERBOSE: Failed to access image id=3 (-2)ERROR: Failed to parse partition with image id = 3ERROR: Could NOT find the fip partition!- The MMC partconf is:STM32MP> mmc partconf 1 EXT_CSD[179], PARTITION_CONFIG:
Hi,We're using STM32MP157FAA1 for our products. our kernel version version is 5.15 & dunfell Yocto. Our system requirement is to enable a pwm using lptimer [ PD13 ] that serves even in low power mode. below are our queries:1. As we understood it needs LSI/LSE to be enabled. is it correct? if it is so, should the clock be exposed via TFA? 2. Our changes are as below & attached. but still we dont see PWM generated & we see below error in console dmesg. root@e40-guadalupe-v2:~# dmesg | grep -i failsafe[ 1.371396] failsafe-clock fail-safe-clk: PWM not available (-22), trying GPIO mode kernel changes: /* Failsafe clock using LPTIMER1 PWM with LSE for stop mode *//* Falls back to GPIO if PWM not available (TF-A not updated yet) */fail_safe_clk: fail-safe-clk {compatible = "lennox,failsafe-clock";/* LSE @ 32.768kHz: 100Hz = 327.68 cycles ≈ 10.01ms period */pwms = <&lptimer1 0 10010000 0>; /* Channel 0, ~10ms period (100Hz),
Hello,i am working on STM32MP257f-EV1 board to get access for vd55g1 camera.so far i have flash the board using FLASH-stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11.tar.gz starter package and used FlashLayout_sdcard_stm32mp257f-ev1-optee.tsv file.I have used STSW-IMG506-V4L2\STSW-IMG506-V4L2\STSW-IMG506_V4L2_v.2.0.3\vd55g1-linux-driver-2.0.3 to generated vd55g1.ko file and stm32mp-openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11, \stm32mp-openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11\sources\ostl-linux\linux-stm32mp-6.6.78-stm32mp-r2-r0\linux-6.6.78 kernal now ehen i load the vd55g1.ko in board atlest it should load the vd55g1 module but i got this error vd55g1 [ 477.010504] module vd55g1: .gnu.linkonce.this_module section size must match the kernel's built struct module size at run time modprobe: ERROR: could not insert 'vd55g1': Exec format error also when i used image.gz using scp command it print this Starting systemd-udevd ve
Dear Sir/Madam,I hope this email finds you well.I am currently designing a custom PCB board based on the STM32MP157FAC1 microprocessor and associated STMicroelectronics components. I would like to kindly request your support in reviewing and verifying the schematic design and Gerber files to ensure the PCB has been designed correctly and will function as expected.The objective of this verification is to confirm:Correct schematic connections in accordance with STM32MP157FAC1 datasheets, reference manuals, and recommended reference designsProper implementation of power supply sequencing, clock circuitry, reset configuration, boot configuration, and required peripheralsAny critical PCB layout guidelines, constraints, or recommendations that should be followed before proceeding with fabricationYour feedback would be extremely valuable in identifying any potential issues or required improvements early, helping to ensure reliable operation of the final PCB.If any addition
Hello,with my colleagues @LOrci.1 and @Raggio we are testing a SOM based on STM32MP257F line, running OpenSTLinux 6.6. Our SOM is connected to an expansion board originally designed for MP1 SOM by ST (STM32MP157C line).For video output we use the DSI-to-HDMI adapter B-LCDAD-HDMI1, based on the ADV7533 bridge. Our MP2 SOM includes the same DSI peripheral as STM32MP257F-EV1 board, with one key difference: for backward compatibility with the MP1 SOM, the DSI connector is located on the expansion board and only 2 data lanes are routed/available.To use the adapter correctly, the device tree was updated by setting the adi,dsi-lanes property of the adv753x: hdmi@3d node to 2 instead of 4.When applying this change on STM32MP257F-EV1, the display works correctly and modetest command reports three available resolutions for the connected monitor. When applying the same change to our setup (MP2 SOM + expansion board), the screen remains black, although modetest still
I am trying to probe TC358743 (HDMI to CSI ic) to STM32MP257f-dk. The ic is able to take input from the HDMI from my laptop (I is being checked as when i give an edid as input from v4l2 then the screen of my laptop gets extended).The problem is in receiving the stream at stm32. TC358743 outputs 2 formats - MEDIA_BUS_FMT_RGB888_1X24 and MEDIA_BUS_FMT_UYVY8_1X16. Both of them are not supported by CSI input of stm.
Hi,I am working on custom board with STM32MP257. I am trying to enable i2c7 but it is RIFSC blocked.When I try to change the rif configuration for i2c7 the flashing process is interrupted and I cannot download the FW.Any help would be appreciated.Thanks.
So coincidental enough all the projects I have done before required a RTC /w LSE. I am now working on a project that does not need a LSE, and I am finding that TF-A keeps throwing a panic because of this. The protos we had fortunately had the circuit DNL, so adding an LSE clock fixed the problem. Is there a way to disable this? or at least use the LSI? I tried configuring it to use the LSI but still same panic. //Error MessageNOTICE: Early console setupPANIC at PC : 0x2ffe6b5bException mode=0x00000016 at: 0x2ffe6b5bThank you for any help.
We have designed a product using the MP257, and based the board layout of the EVK and we are now taking the combined product through RED & FCC testing.Generally the board is very quiet, but we are experiencing problems with the Ethernet clocks and we are seeing strong 125MHz & harmonics emissions.We are using the RTL8211F and haven't changed the traces associated with the EVK, we loaded the design into Altium, and made a few changes.My question is about Clock sources, what is the best way to run the 125MHz, by default CubeMX seems to generate clock, and the RTL8211 also seems to generate a clock, is this correct?I can see 4 125Mhz on the spectrum analyser, 3 very close together, I believe from the RTL8211 crystal and 1 approx 40 KHz apart which I assume is from the MP257, does this seem to make sense?The switch functionality is working
Hello! I'm just getting started with an STM32MP257F-DK and B-CAMS-IMX module. I've followed the instructions for connecting the B-CAMS-IMX and have populated SD cards for booting with both optee and extensible layouts, but I am having an issue getting the camera module up and going. Instructions in the Wiki made it seem like this module is supported out of the box, but I am getting "imx335 0-001a: failed to find sensor: -6" at boot with both SD card images. Looking at the stm32mp257f-dk dts, it seems that the other components of the B-CAMS-IMX (ToF and IMU) are not defined as well.Am I missing something? Do I need to create a custom dts to bring up this module? Thanks for any help.
Hi,I am in the middle of the project development based on STM32MP257FAK CPU. Originally we were using 8Gbit Micron chip (MT53E256M32D1) which became obsolete in the middle of the development, it even seems that most of the 8Gbit Micron chips are now obsolete. Now would like to understand why all the validated LPDDR4 memories in the wiki list are 2133MHz while the operating memory speed for STM32MP257 is 1200MHz?Are there any know issues with this memory for example from ISSI: IS43LQ32256A-062BLI? This is 1600MHz memory. Thanks!Alexey.
I am writing to request technical assistance regarding a display issue we are encountering while developing with the STM32MP257FA. We have connected an OLED display via the LTDC interface using the RGB888 communication protocol.[Issue Description] While the display output is functional and the image is visible, the colors appear significantly "washed out" (desaturated) compared to the original source image. It feels like some color data is being lost or attenuated.[Troubleshooting Steps Taken] To address this, we have already performed the following debugging steps:Signal Integrity: We suspected a potential issue with the R5 data line (and others) and have attempted to adjust hardware parameters, including impedance matching, trace length, and clock timing.Cross-Verification: We replaced the OLED module with a new one to rule out a component defect, but the symptom remains identical.[Attachments] For your reference, I have attached the following files:Schematic: Our hardware circuit de
Hi,My name is Siyabonga.I am working with the STM32MP257F-EV1 board and have downloaded the STM32MPU-Ecosystem v6.1.0. I am trying to generate a pulse-per-second (1PPS) signal using the Ethernet module.I followed the guide titled "How to configure PTP PPS OUT" from the STM32MPU wiki. According to the documentation, pin PB15 on the MikroBUS can be used for PPS OUT, and when configured with AF10, it can function as ETH-PPS-OUT. I have added this pin configuration to the device tree and rebuilt the image.However, I am unsure how to correctly link the PPS output of the Ethernet MAC to pin PB15. When I connect an oscilloscope to PB15, the signal is either not as expected or, in some cases, appears to be only noise.I would appreciate your assistance and guidance on this matter.Thank you in advance.
Summary:HDMI output on STM32MP257F-DK board does not function with 800x480 HDMI display. The ADV7535 DSI-to-HDMI bridge driver loads and binds successfully, but the probe() function never executes, leaving the bridge in powered-down state. Display shows only backlight, no image.Hardware Configuration:Board: STM32MP257F-DK Discovery BoardFirmware: OpenSTLinux v25.06.11 (latest as of Jan 2026)Display: 800x480 HDMI display (Raspberry Pi compatible)EDID: Acer G50 (110x60mm)Native resolution: 800x480 @ 60HzHDMI cable: Standard HDMI-to-HDMConnection: HDMI port (CN14) → Display via HDMI cableSoftware Configuration:Images tested:FlashLayout_emmc_stm32mp257f-dk-fastboot.tsv (eMMC)FlashLayout_sdcard_stm32mp257f-dk-optee.tsv (microSD)DTB variants tested:stm32mp257f-dk-ca35tdcid-ostl-m33-examples.dtb (default)stm32mp257f-dk.dtb (standard)Result: Same behavior with all combinationsKernel: 6.6.78OS: ST OpenSTLinux - Weston - v5.0.8-openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11Problem Description:Obs
Hi,we use the STM32MP157C with almost the same RAM layout as the STM32MP157F-EV1, except that the SDRAM chips are from Micron (MT41K256M16). The PMIC is also the same as the one on the evaluation board, and the settings therefore are identical. TF-A, optee, u-boot and kernel are active.On almost all boards, we see sporadic page faults from the kernel (one in 400 warm starts), distributed across the RAM (all entries from different starts):[ 0.000000] BUG: Bad page state in process swapper pfn:d0cfc [ 0.000000] page:(ptrval) refcount:1 mapcount:0 mapping:00000000 index:0x0 pfn:0xd0cfc -- [ 8.840693] BUG: Bad page state in process tar pfn:f77ae [ 8.840730] page:769addeb refcount:1 mapcount:0 mapping:00000000 index:0x4 pfn:0xf77ae -- [ 9.664655] BUG: Bad page state in process rc pfn:f70c8 [ 9.664691] page:c59745a8 refcount:1 mapcount:0 mapping:00000000 index:0x4 pfn:0xf70c8 -- [ 0.000000] BUG: Bad page state in process swapper pfn:eace6 [ 0.000000] page:(ptrval) refcount:1 mapcount:0 mappi
Hi AllI have a question about the debugging the M4 when we are using OpenAMP Lets say we have a simple example from the docs , and i am creating debug config and i am expecting the code to be flashed and the communication to work (while debugging) but that is not the case. What is happening is the following , when debugging the code hangs on MX_OPENAMP_Init(RPMSG_REMOTE, NULL); and this is because the M4 is a slave and waits for the A7 to send a signal , but that is never happening because the A7 core is not aware of the debug. Is there a straightforward way to debug ? instead of attaching to a running target , restarting the M4 core etc.I cannot find anything on the internet Thank you
I've inherited a board that is based on an STM32MP135AAE3 and has an external DDR (W63AH6NBVABI, a DRAM 1Gb LPDDR3 from Winbond). It appears I need to create a DDR.h file similar to the stm32mp13xx-ddr3-4Gb.h or stm32mp13xx-ddr3-8Gb.h files that STM provides (right?) I've taken the existing stm32mp13xx-ddr3-4Gb.h and am slowly going through, figuring out exactly what each line needs and then trying to track down the appropriate information from the DDR datasheet. My biggest concern is that I get the timing ALMOST right and end up with a DDR that works 99.99% of the time (failing, of course, only at customer sites). 1) Is there an archive of DDR definition files somewhere that I missed?2) Is there a better way to generate this DDR definition file?3) Is there a way to test I did it right besides running various memory tests for days and days? As an example, this file needs information like this:// DDRCTRL SDRAM timing regist
Hello Everyonelinux kernel version: 6.6.78After configuring the device tree, I can see the SPI device /dev/spidev6.0 on the STM32MP257F-DK board. However, when I run spidev_test[1], it returns the error message "Invalid argument."I tried using an oscilloscope to measure the signals on the CLK, MOSI, and MISO pins separately, but no signals were detected.Please give me some suggestions to help me fixed it. Thanks in advance.//------------------------------------------------------------------------------------------------------the SPI device tree setting as following:Path:~/STM32MPU-Ecosystem-v6.6/Developer-Package/BSP/sources/ostl-linux/linux-stm32mp-6.6.78-stm32mp-r2-r0/linux-6.6.78/arch/arm64/boot/dts/st/stm32mp257f-dk.dtsaliases { serial0 = &usart2; serial1 = &usart6; serial2 = &usart1; ethernet0 = &eth1; spi6 = &spi6; }; &spi6 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&spi6_pins_a>; pinctrl-1 = <&spi6_sleep_pins_a>
Hello,I am working on a custom board derived from the STM32MP157F-DK2 reference design and currently validating the basic bring-up.I have a few questions specifically related to the Cortex-M4 (MCU) core on STM32MP157F:Checking MCU execution via JTAG/SWDUsing the JTAG/SWDIO pins, how can I confirm whether the Cortex-M4 core is running or halted?Are there recommended tools or procedures (e.g., STM32CubeProgrammer, OpenOCD, ST-Link) to attach to the M4 core independently of the A7 cores and verify execution status? MCU startup code responsibilityDoes the Cortex-M4 require a separate startup/application binary (startup code, linker script, vector table), or is this handled automatically as part of the Yocto/OpenSTLinux build?In other words, does Yocto provide and load a default M4 firmware, or is it expected that we build and deploy an M4 firmware separately (for example using STM32CubeIDE)? Boot flow clarificationAt what stage is the M4 core released from reset?Is this controlle
I have CubeMX 2.0.0 and I notice that if I want to enable DSIHOST, I need to first enable HSE.But the clock configuration of the DSI does not require HSE. It seems that the clock configuration of DSI seems to work with HSI in CubeMX 2.0.0.So, the question is: I need to enable HSE, but do I need to clock configure it for DSI as well? Or could I use HSI in the clock configuration, even if HSE is enabled? Processor: STM32MP257FAK3
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.