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,When I create a project from CubeMX for STM32MP235 and configure some peripherals, in generated device trees those peripherals contains pin control for default/active state only. No pin configuration for sleep mode is generated. Where as for STM32MP257 CubeMX generates "xxx_sleep_pins_mx" too.What is that I am missing?
Good Evening. I am trying to connect an AI accelerator (ORCA M.2) to STM32MP257F-EV1. I cross compiled orca's driver with the ST developer package and i added it to the device. I also put the accelerator throught a pcie to m.2 adaptor so i can connect it to the device. I get the following situation: sudo lsmod | grep cda cdapci 36864 0 degirum sys-info Devices: N2X/CPU: - '@Index': 0 TFLITE/CPU: - '@Index': 0 - '@Index': 1 Software Version: 0.17.3 dgoinfo all dgoinfo: error: [ERROR]Device not found No device found dg_orca_dev.h: 63 [LCL::OrcaDevices::OrcaDevices] sudo lspci | grep accelerators 01:00.0 Processing accelerators: DeGirum Corp. AI Accelerator [ORCA] (rev 01) ls -la /dev/cda* crw-rw-rw- 1 root dg_orca 238, 0 Jan 1 2000 /dev/cda00 dmesg | grep cda [ 8.825528] cda 0000:01:00.0: of_irq_parse_pci: failed with rc=134 [ 8.827938] cda 0000:01:00.0: Unable to change power state from D3cold to D0, device inaccessible [ 8.843230] cda cda00: Store resource 0 fla
Hi,Suppose I have an I3C target endpoint sending Hot-join request after RSTDAA, is STM32H562/3ZI capable of detecting the Hot-join and pass it on to the firmware layer ? I see Hot-join request support and sample code as an I3C Target in STM32Cube repo on GitHub and generated code. How do we deal with Hot-join request as an I3C Controller
Can I only modify the ttt-ip-init-systemd.sh script if I need to change and persist the IP address while using the STM32MP switch mode?
Hi,I am trying to boot an STM32MP257F with M33 master from SD-card (BOOT=0111).I get the following error on PH4:----------------------------------------blockingfailureS-0002031104084FFCNS-0000000000000000L-000000AE----------------------------------------What does it mean?Best regards.
Hello everyone, I am working with the STM32MP257F-EV1 with the distribution package, on scarthgap branch with tag : openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11 I am working with STM32CubeMX version 6.15. I am trying to setup a new machine based exactly on the default STM32MP257F-EV1 development board. So I am following every default values I can on STM32CubeMX project.When the project is created the folders hierarchy is the following : and is at the following path : ~/workspace/MyProject/MyProject/layers/meta-st/meta-st-stm32mp-addons/mx/MyMachine. ├── CA35 │ ├── DeviceTree │ │ └── MyMachine (contains folders kernel, optee-os, tf-a, u-boot) │ └── manifest.prop ├── CM33 │ ├── DeviceTree │ │ └── MyMachine │ └── NonSecure │ ├── Core │ └── STM32MP257FAIX_RAM.ld ├── Common │ └── System │ └── system_stm32mp2xx_m33.c ├── Drivers │ ├── CMSIS │ │ ├── Device │ │ ├── Include │ │ └── LICENSE.txt │ └── STM32MP2xx_HAL_Driver │ ├── Inc │ ├── License.md │ └── Src ├── My
I know that the HSEM has been deprecated on the MP2x family of MPUs. However, it still appears to be supported, given that there is an entire chapter (22) dedicated to it in the user manual, as well as having some space carved out for it in the CUBE setup, though those options seem to be disabled. My question is, has anyone used the HSEM on an MP2 MCU, and if so, how is this accomplished? This all came about from a need to raise a *simple* interrupt between cores, without the latency and overhead of OpenAMP, the RIF, remoteproc, etc., etc. It seems straightforward enough, but if the MP2 does not support HSEM, then why is it presented in the manual as though it does? This makes no sense. I have had a couple of people tell me that HSEM is not preferred (okay, fine) but nobody has been able to explain why the documentation at least suggests it can be used, whatever its favored status. Thanks to anyone who can shed some light. It seems unbelievable that this beast of a micro has no was to
Hi,I've been struggling for a while now with the STM32MP257D, specifically trying to get the TI DP83867 Ethernet PHY working over RGMII. The issue is that my custom board layout doesn't provide a CLK_125MHZ signal from the PHY, so based on the ST tutorial from this link, I add the st,ext-phyclk flag to the eth1/eth2 nodes in the stm32mp251.dtsi and stm32mp253.dtsi files. I also updated my board's .dtsi with the proper compatible and reg entries. Here’s what the eth2 node looks like: &eth2 { status = "okay"; pinctrl-0 = <&eth2_rgmii_pins_a>; pinctrl-1 = <&eth2_rgmii_sleep_pins_a>; pinctrl-names = "default", "sleep"; phy-mode = "rgmii-id"; max-speed = <100>; phy-handle = <&phy1_eth2>; st,eth-ptp-from-rcc; mdio1 { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; phy1_eth2: ethernet-phy@12 { reg = <12>; compatible = "ethernet-phy-id2000.a231"; ti,rx-intern
I am trying to debug a simple application on the CM4 processor on a STM32MP157D-DK1 development board in engineering mode using Cube IDE Version: 1.18.1 The board is booted from the micro SD card and appears to be powered up and alive with various flashing LEDs. When I try to debug my simple application I get the following error. I have tried many different debug and connection options on the debug configuration but I cannot seem to get past this point. How can I fix this?Open On-Chip Debugger 0.12.0+dev-00608-gd8ed48fef (2025-02-06-11:17) [https://github.com/STMicroelectronics/OpenOCD]Licensed under GNU GPL v2For bug reports, readhttp://openocd.org/doc/doxygen/bugs.htmlsrst_only srst_pulls_trst srst_gates_jtag srst_open_drain connect_deassert_srstInfo : Listening on port 6666 for tcl connectionsInfo : Listening on port 4444 for telnet connectionsInfo : connected to stlink-serverInfo : stlink-server API v3, version 2.1.1Info : STLINK V2J46M31 (API v2) VID:PID 048
I am trying to use the DFSDM in parallel mode. However my output sample rate is significantly lower than expected.My input is an MEMS microphone, with 2.048MHz leading to 128kS/s of 16bit samples that arrive at the MPU.The desired output is 32kS/s PCM.My filters are configured as follows (everything except for Continuous mode is done by CubeMX) hdfsdm1_filter0.RegularContMode = DFSDM_CONTINUOUS_CONV_ON; hdfsdm1_filter0.Instance = DFSDM1_Filter0; hdfsdm1_filter0.Init.RegularParam.Trigger = DFSDM_FILTER_SW_TRIGGER; hdfsdm1_filter0.Init.RegularParam.FastMode = DISABLE; hdfsdm1_filter0.Init.RegularParam.DmaMode = DISABLE; hdfsdm1_filter0.Init.FilterParam.SincOrder = DFSDM_FILTER_SINC3_ORDER; hdfsdm1_filter0.Init.FilterParam.Oversampling = 64; hdfsdm1_filter0.Init.FilterParam.IntOversampling = 1; if (HAL_DFSDM_FilterInit(&hdfsdm1_filter0) != HAL_OK) { Error_Handler(); } hdfsdm1_channel0.Instance = DFSDM1_Channel0; hdfsdm1_channel0.Init.OutputClock.Activation = DISABLE; hd
I am trying to Generate a periodic interrupts using TIMERS in STM32mp257f how should I proceed? In timer openstlinux drivers there is no specific driver mentioned for periodic interrupts? How can I achieve this?
Hi everyone,I'm a beginner in Android development and currently working with the OpenST-Droid distribution. I have a question regarding the use of CubeMX: after generating the Device Tree using CubeMX, how should I integrate it into the OpenST-Droid distribution? I’ve read the following article, but it doesn’t explain how to apply the Device Tree generated by CubeMX to OpenST-Droid: STM32MPU Distribution Package for Android - stm32mpu How to build OpenSTDroid distribution - stm32mpu How to build kernel for Android - stm32mpu Thank you in advance for your help!
I am currently using a STM32MP157a on an SOC module from aries-embedded and try use the internal ADC in M4 context. However, I always get 32678 for 16bit settings regardless of the other ADC settings or channel selected. For 12 bit the value is then 2048.I figured out that on that SOC module VDDA input of the STM32MP157 is connected to LDO2 of the STPMIC1A and there is no voltage present. I guess the LDO is not activated during boot of the Linux. I used the following settings in my dts file, for the PMIC:&i2c4 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c4_pins_z_mx>; pinctrl-1 = <&i2c4_sleep_pins_z_mx>; status = "okay"; /* USER CODE BEGIN i2c4 */ /delete-property/dmas; /delete-property/dma-names; pmic: stpmic@33 { compatible = "st,stpmic1"; reg = <0x33>; interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; interrupt-controller; #interrupt-cells = <2>; status = "okay"; regulators { com
Dear ST Developer Support,I want to enable MIPI DSI panel on STM32MP257F-EV1 based on Android OS.Which device tree stm32mp257f-ev1.dts or stm32mp257f-ev1-overlay.dts should I need to modify?Besides, How to modify the device tree node to enable the DSI panel?Could I use the "panel-simple.c" driver to drive my dsi panel?I urgently need your help! Thanks.
Dear ST Developer Support,I want to enable LVDS panel on STM32MP257F-EV1 based on Android OS.I tried to modify device tree stm32mp257f-ev1.dts and stm32mp257f-ev1-overlay.dts to enable LVDS panel.But I could not enable it. When I revert the device fdt file, I saw that the LVDS related device tree nodes lvdsltdcpanel-lvdspanel-lvds-backlightdisplay-controllerstatus were "disabled".In stm32mp257f-ev1.dts and stm32mp257f-ev1-overlay.dts file, the LVDS related device note are status="okay".So, I confuse on this problem. Maybe somewhere dts overlay this device node, but I cannot find it.Would you help me solve this problem?Thanks.
Im trying to enable x11 feature in yocto build for stm32mp257f-ev1, im getting error while compiling libgluI followed this procedure to enable the x11 dependency with wayland : https://wiki.st.com/stm32mpu/wiki/How_to_install_JAVA_JDK#The_yoctoproject_meta-javalibglu package is failing to compile because it can't find the KHR/khrplatform.h header file.i have attached the error log file
Hello Because we need to use linux 6.1.x, so I try to compile the optee 3.19.0 which is from the source package of ST web.But there is a compile issue:$ make -f $PWD/../Makefile.sdk CFG_EMBED_DTB_SOURCE_FILE=stm32mp257f-ev1 allmake[1]: Entering directory '/home/llf/linux-kernel/stm32mp2-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/aarch64-ostl-linux/optee-os-stm32mp-3.19.0-stm32mp-r2-r0/optee-os-stm32mp-3.19.0-stm32mp-r2'GEN /home/llf/linux-kernel/stm32mp2-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/aarch64-ostl-linux/optee-os-stm32mp-3.19.0-stm32mp-r2-r0/optee-os-stm32mp-3.19.0-stm32mp-r2/../build/stm32mp257f-ev1/core/include/generated/arm32_sysreg.hGEN /home/llf/linux-kernel/stm32mp2-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/aarch64-ostl-linux/optee-os-stm32mp-3.19.0-stm32mp-r2-r0/optee-os-stm32mp-3.19.0-stm32mp-r2/../build/stm32mp257f-ev1/core/include/generated/arm32_sysreg.SCHK /home/llf/linux-kernel/stm32mp2-openstlinux-6.1-yocto-mickledore-m
Hi,We are using the STM32MP157DAC SoM with the Distribution Package.Our hardware supports two different LCD displays, either of which can be connected to the board via the MIPI interface.We would like to detect which LCD is connected using the input level of GPIO pin PA13. Based on this pin's state, the appropriate display driver and device tree configuration should be loaded dynamically, instead of manually modifying and selecting the overlay each time.Example:If PA13 is high, then LCD1 is connected — the system should load LCD1's device tree configuration and enable its driver.If PA13 is low, then LCD2 is connected — the system should instead load the configuration and driver for LCD2.What are the possible ways to achieve this kind of dynamic device tree or driver selection based on a GPIO input at boot time?Best Regards,Adnan
Hi,I’m working with the STM32MP157DAC and using the Mickledore BSP distribution to build a custom image.Our design includes a Wi-Fi + Bluetooth combo module based on the IW611 + 88W8987 chipset.We've successfully established Bluetooth connections—streaming audio from the STM32MP157 board to Bluetooth headphones, and from a mobile device to the STM32 board.Now, we're looking to transfer files via Bluetooth from the STM32MP157 to a Linux or Windows PC.Could you please advise on how we can enable and implement Bluetooth file transfers (e.g., via OBEX or similar)? Any guidance or recommendations would be appreciated.Thanks
Im trying to add firefox to the Yocto distribution package provided by STI have addded meta-clang, meta-rust, meta-lts-mixins, meta-browser/meta-firefox, meta-openembeddedFirefox needs x11 dependencies so i added x11 depds as explained by this wiki page : https://wiki.st.com/stm32mpu/wiki/How_to_install_JAVA_JDK#The_yoctoproject_meta-java While compilation im getting the following list of errors.I have attached the log file for do_compile.
Hi all,I'm working on a custom STM32MP135 SOC hosting a MMC memory.The barebone firmware creates some tasks by the osThreadNew() function and works correctly.Now I'm inserting FATFs module (moving from FileX) on the firmware to support the FAT fs on the MMC memory.Most of the times the basic funcions work correctly (open, read/write, close). I'm able to create files and list them with findfirst/findnext functions.If I add a open/read/close sequence, the read operation is done correctly but when the function returns to the caller and this one try to call other function, the firmware crashes on CDAbtHandler. This behavior is not random, it is systematic at every run. The reported address in LR parameter is useless.In my understanding it could be a stack error but I'm not able to understand what could be causing the problem.Should be the thread stack size?How can i know the correct stack size?Thanks!
Hello,I was able to make the SDL2 library works with KMSDRM with kernel 5.15 Kirkston but with kernel 6.6 Scarthgap it doesn't work. I also configured the kmsdrm to work in the .bbappend file since I am using Yocto. I can see from the log.configure that the kmsdrm is on but the application which was working with 5.15 is still not able to run with 6.6. However, KMSCube is working means KMSDRM is working from the kernel point of view. The messages that I got when debug are below:INFO: video driver in use is: (null)INFO: video driver 0: waylandINFO: video driver 1: KMSDRMINFO: video driver 2: (null)INFO: video driver 3: (null)INFO: Failed to initialize SDL: No available video device Even if I specify the driver to be kmdrm I see the followingINFO: video driver in use is: (null)INFO: video driver 0: waylandINFO: video driver 1: KMSDRMINFO: video driver 2: (null)INFO: video driver 3: (null)INFO: Failed to initialize SDL: kmsdrm not available I don't know why it is still unavailabl
How to obtain the Offset in the tsv file , Especially for SD cards。1.SD2.EMMC
Hello,We are currently working with the STM32MP257F-DK development board and encountered an unexpected behavior while accessing the Ethernet DMA Mode Register (ETH_DMAMR), located at address offset 0x1000 as per section 92.11.2 of the reference manual.According to the documentation, the reset value of this register should be 0x00000000. In particular, Bit 0 (SWR: Software Reset) is defined to be cleared (0) after the reset operation is completed.However, upon reading this register after system initialization, we consistently observe the value 0x00000001, indicating that the SWR bit remains set. This suggests the software reset is still ongoing or not completed, which is contrary to the expected default state after a successful system boot.We have verified that all required PHY clocks and Ethernet clocks are active .Could you please advise if this is a known behavior or if there are additional initialization requirements that need to be met to ensure proper reset deassertion?Best regard
Hi Sir, I am working with the STM32CubeProgrammer to fully upgrade my STM32MP157 MPU system, but I would like to ask how to partially upgrade the system? For example, the BOOT paritition and the ROOTFS partition has not been changed very frequently, all the focus will be on the changes happen in the USERFS paritition. So with the STM32CubeProgrammer, how can I just upgrade the USERFS partition? Or how can I upgrade the partition I want instead of doing the full upgrade?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.