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
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
Hello everybody,For my project, I need to display (LVDS output) an HMI that contains external video streams.I plan to use LTDC layers in order to perform plane composition with the hardware block (for example, HMI on plane 1, RTP video on plane 2, and MIPI camera on plane 3).I use GStreamer to test H.264 decoding and to display video using kmssink.My problem is that I can display a video on each plane separately, but not on two or more planes:gst-launch-1.0 videotestsrc ! videoconvert ! kmssink plane-id=$PLANE_ID1 => okgst-launch-1.0 videotestsrc ! videoconvert ! kmssink plane-id=$PLANE_ID2 => okgst-launch-1.0 videotestsrc ! videoconvert ! kmssink plane-id=$PLANE_ID3 =>ok (I don't know why, but the size is smaller; maybe I can find the reason in the device tree)But if I do something like this:gst-launch-1.0 videotestsrc ! videoconvert ! kmssink plane-id=$PLANE_ID1 videotestsrc ! videoconvert ! kmssink plane-id=$PLANE_ID2the command fails.For my test I have a custom board
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
I'm trying to add the linux "gpio-poweroff" function to the distribution package. I've added the following to my device tree:gpio-poweroff { compatible = "gpio-poweroff"; gpios = <&gpioe 1 GPIO_ACTIVE_HIGH>; timeout-ms = <3000>; };The kernel/device tree compiles OK, but the poweroff function does not work. The logs give the following lines about the poweroff:[ 1.482136] poweroff-gpio gpio-poweroff: gpio_poweroff_probe: pm_power_off function already registered [ 1.482174] poweroff-gpio: probe of gpio-poweroff failed with error -16So I guess openSTLinux already has some handler attached? How do I disable this?
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'm bringing up a very simple board that uses STM32MP135 with LAN8742A-CZ-TR Ethernet PHY as on the eval board. Unlike the eval board, however, I clock the PHY directly from the SoC: PA11/ETH1_CLK from the STM32 is connected to XTAL1/CLKIN on the PHY.I obtained the drivers from the STM32CubeMP13 package (version 1.2.0, or GitHub commit 0ef689b06775da063006da84d952d8bd48f9e5e1). Since I'm not making use of the ETH1_RX_CLK, I tell the HAL to source the 50MHz clock directly from the RCC: eth_handle.Init.ClockSelection = HAL_ETH1_REF_CLK_RCC; The Ethernet driver in stm32mp13xx_hal_etc.c (correctly) makes use of this information to set a bit in the PMCSETR register: if (heth->Init.ClockSelection == HAL_ETH1_REF_CLK_RCC) { syscfg_config |= SYSCFG_PMCSETR_ETH1_REF_CLK_SEL; } HAL_SYSCFG_ETHInterfaceSelect(syscfg_config);However, later on, an assertion fails which does not expect the RCC bit to be set in this register:#define IS_SYSCFG_
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
Hi Community Members,We are using a MYB-LD25X development board and are able to boot Linux successfully on the A-core. However, we are facing issues when debugging Cortex-M33 code generated by STM32CubeMX. Although we assign the required peripherals exclusively to the M33 core, the initialization code generated by CubeMX does not work as expected. When the M33 firmware starts, it consistently enters a HardFault. Has anyone experienced a similar issue with the MYB-LD25X / STM32MP2 platform? Any guidance on correct peripheral assignment, resource management (RIF/ResMgr), or CubeMX configuration for M33 debugging would be greatly appreciated.Thank you in advance.
Hi im working on stm32mp257f-ev1 and the "edt,etml0700z9ndha" display,Im unable to decode the logic why the back-light enable gpio only gets high when there is a display connected in the lvds port, what logic is used to detect the lvds display connection.Since i only see the display logs during boot only when there is a display connected, i need clarification regarding this from which driver this logic is implemented, and in the compatible string "edt,etml0700z9ndha" this is used but i found no driver with this compatible list.If in case i want to use the RVT101HVLNWCA0 what driver should i use and can i get a sample device tree for this display panel_lvds: panel-lvds { compatible = "edt,etml0700z9ndha", "panel-lvds"; enable-gpios = <&gpiog 15 GPIO_ACTIVE_HIGH>; backlight = <&panel_lvds_backlight>; power-supply = <&scmi_v3v3>; default-on; status = "okay"; width-mm = <156>; height-mm = <92>; data-mapping =
Hi Team,I am using the following method to enable password protection for both SSH and serial login.I added the below configuration in local.conf:INHERIT += "extrausers" EXTRA_USERS_PARAMS += "\ usermod -U root; \ usermod -p '\$6\$ao/KaHyZbsgvo2RD\$QUzqRGclDHxnOv8BiGImYO10QX0YwmLh6XVjvqcEVg6976kyhNarzpX4rjCimbGSuM2d.2GOehoCFzHCx6jcd0' root; \ "I also made the following changes:Serial login (serial-getty@.service):ExecStart=-/sbin/agetty -8 -L --keep-baud %I @BAUDRATE@ $TERMSSH configuration (sshd_config):PermitRootLogin yesAfter enabling password protection, scripts placed under /etc/profile.d no longer run automatically. These scripts only execute after I manually log in to the shell. Previously, they were used to start some required functionality automatically.Those scripts launch Python code using Qt (PySide6) and play video using Qt Multimedia. I attempted to move this logic into a systemd service, but when running from a service, I encounter hardware decoder issues while playing
According this article: https://wiki.st.com/stm32mpu/wiki/GPU_internal_peripheral. It is not supported configuration for OpenSTLinux BSP. Can I manually assign or enable GPU with the x-linux-qt image? If yes, how?
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
Hello.Is there any way to exclude some GPIOs from Linux, when I control them from M4 core and I don't want to give an ability to control them from Linux apps? I would like to exclude e.g. PG12. I tried this, which should be exactly for such use:&gpiog { gpio-reserved-ranges = <12 1>; /* Reserve PG12 for M4 */ }; But it doesn't help, still the GPIO is listed and possible to control under Linux.We use OpenSTLinux custom Yocto build with kernel 5.15.67Thanks
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.
Hello,Is the STM32CubeProg + STlink (v3) supposed to work with STM32MP257 ?I can't get any connection.Thank you
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.