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 there,We are trying to porting the linux driver of STM32MP257F-DK + CYW55572 based on kernel 6.6.48.The ST Linux SDK kernel 6.6.48 is from https://www.st.com/en/embedded-software/stm32mp2dev.html#The target board image on eMMC is from https://wiki.st.com/stm32mpu/wiki/STM32MP25_Discovery_kits_-_Starter_Package#step3The generated 6.6.48 driver(patched) 3 ko files as the attachment but found the errors as below.insmod ./cfg80211.ko[17917.220084] module cfg80211: .gnu.linkonce.this_module section size must match the kernel's built struct module size at run timeinsmod: ERROR: could not insert module cfg80211.ko: Invalid module formatinsmod ./brcmutil.ko[17998.345277] module brcmutil: .gnu.linkonce.this_module section size must match the kernel's built struct module size at run timeinsmod: ERROR: could not insert module ./brcmutil.ko: Invalid module formatinsmod ./brcmfmac.ko[18031.322200] module brcmfmac: .gnu.linkonce.this_module section size must match the kernel's built s
Hi, ST Community!We are developing a device based on the STM32MP257DAK3 processor.The firmware is built using Yocto (Scarthgap release) with Linux kernel 6.6 from ST and the meta layers meta-st-openstlinux and meta-st-stm32mp.The device includes a USBPD controller (MAX77958) that is managed by an external microcontroller. This setup is intended to allow USB charging independently of the main processor.Goal:We want to enable USB3DR in USB 2.0 peripheral mode (to use USB gadget / Ethernet over USB under Linux).In U-Boot and DFU mode, USB works fine→ The PC sees the device→ Data transfers are successful→ USB traffic is visible on the oscilloscope After Linux boots:→ The PC doesn’t detect the USB device→ USB lines are completely idle (both lines at 0V)→ usb1 interface appears in ifconfig→ No errors in dmesgDevice Tree config (from ST documentation):&usb3dr { status = "okay"; dwc3: usb@48300000 { maximum-speed = "high-speed"; role-switch-default-mode = "peripheral"; usb-ro
Hi,I'm looking for information on the MP131F pin assignments for USB type-C signals CC1 and CC2. I'm working on a custom board that uses a USB type-C for power only as is done on the MP157D-DK1 board. thanks and best regards
I generated the M33 code from CubeMX, and linked libmetal, OpenAmp and building fine.But when initializing the OpenAmp using MX_OPENAMP_Init(), it get stuck at rproc_virtio_wait_remote_ready(vdev);The resource table and its parameters are exactly same that of in Linux.Where I am getting wrong?RegardsPartha
I generated the code using STM32CubeIDE for CM33 with FreeRTOS.I have tested the delay using osDelay(), the intervals are not accurate.I tried 1 sec delay using osDelay(pdMS_TO_TICKS(1000)), but its less than 1 sec. But HAL_Delay() comes to be quit accurate.There is no error in clock configuration.Attached is the ioc file.Please let me know where I am getting wrong.RegardsPartha
Hi,I wanted to know if it's possible to read the raw mipi-dsi data dump from the Linux kernel in the STM32MP157DAC board.Thanks,
We are currently developing a demo product using the STM32MP257F-DK board.We have flashed the firmware using the file .images\stm32mp25-disco\flashlayout_st-image-core\optee\FlashLayout_emmc_stm32mp257f-dk-optee.tsvHowever, we found that the USB DRD port (CN15) is not being recognized.Upon checking the device tree source in the kernel, we observed that the USB3DR functionality appears to be controlled via , suggesting that an MCU may be required for this functionality.i2c_rpmsgWe would like to confirm the following:Is the USB3 Dual Role (USB3DR) OTG feature dependent on the Cortex-M33 MCU for proper operation?Is it possible to enable and test the USB3DR OTG function without involving the MCU, especially if our goal is to minimize power consumption?Can the CC (Control Channel) pins be handled purely on the A7 side, or is MCU intervention mandatory for proper role detection and control?What is the correct way to enable and test USB OTG functionality on the STM32MP257F-DK board
Hi,when I understand the schematics of the STM32MP257-DK-board correct, the MDIO and MDC signals of the Ethernet1 interface are connected to some pins, which do NOT provide the MDIO and MDC functionality by default (AE15 which is PA10_ETH3_RGMII_RXD1 and where MDIO is function #5 at that pin and AF15 which is PA9_ETH3_RGMII_RXD0 and where MDIO is function #6 of that pin).So in order to let STLinux on that DK-board be able to access the Ethernet interface, on an very early boot-stage the pins need to be configured to provide the related functions.My question: when and where is this pinmux-configuration done exactly?Thanks!
Hello everyone,I am new to STM32 architecture and configuration. I am trying to configure new GPIO ports and pins in an STM32H745i-DISCO board. I had some previous code for the pin configuration, but I could not 100% map it to the user manual for the board. The code is the following. I could not match these definitions to any from the manual. Could anyone help me with the mapping for pins D0-D15 on the board? Thank you very much #define LD6_Port GPIOD#define LD7_Port GPIOI#define LD8_Port GPIOB#define LD9_Port GPIOC#define LD10_Port GPIOA#define B1_Port GPIOC#define LD6_Pin GPIO_PIN_3#define LD7_Pin GPIO_PIN_2#define LD8_Pin GPIO_PIN_15
Hi,I'm trying to change the HDMI output resolution of my STM32MP157F-DK2 board to support a BOE 13.3" Mono IPS LCD (connected via LT6711A HDMI to eDP bridge).What I’ve done so far:Extracted and edited the device tree source:Decompiled stm32mp157f-dk2.dtb using dtc -I dtb -O dts.Modified display-timings node to match my panel:dtsCopyEdittiming0: timing0 { clock-frequency = <74250000>; // or appropriate pixel clock hactive = <1280>; vactive = <720>; hfront-porch = <110>; hback-porch = <220>; hsync-len = <40>; vfront-porch = <5>; vback-porch = <20>; vsync-len = <5>; hsync-active = <0>; vsync-active = <0>; de-active = <1>; pixelclk-active = <0>; }; Recompiled the DTS to DTB:Used: dtc -I dts -O dtb -o stm32mp157f-dk2.dtb stm32mp157f.dtsReplaced DTB on SD card:Mounted bootfs partition.Copied new stm32mp157f-dk2.dtb to /bootfs/Updated extlinux.conf:Ensured that FDT /stm32mp157f-dk2.dtb is set correctly in:bash
HelloWe are testing Memory read and Write in STM32MP257F-DK Board. We are not able to read or write into SRAM1 & SRAM2, but RETRAM and SYSRAM Works. We have enabled SRAM1EN & SRAM2EN in RCC_SRAM1CFGR & RCC_SRAM2CFGR respectively, but read and write of memory doesn't work. Thanks & RegardsAkshitha Pattem
Hello.I was glad to hear that the TouchGFX supportance have covered the STM32MP135F-DK. Even though it only support TouchGFX 4.24.0 and STM32CubeIDE 1.15.0 (I'm unable to download the IDE 1.15.0 ! Only 1.15.1 so I tried the 1.15.1).Right from the start there was trouble with development.After downloading the addon and installed it into the TouchGFX folder, I followed the wiki stm32mpu/wiki/How_to_install_X-TouchGFX_MPU_Addon and downgraded my 1.18.0 IDE to 1.15.1 and installed it into the default directory, which the tutorial asked me to do so. I've downloaded the required programmer before so there was no need for me to reinstall it. Before this trial, I'm already a senior developer at TouchGFX.Generated the code……and clicked the "run target" as required……finally it went like, this↓ I wondered.So I opened the CubeIDE project and tried to build it just in the IDE.And unfortunately↓ I thought that it must be wrong, however, I done everything the wiki told me.I was us
I’m using the STM32MP257F-DK and trying to bring up the onboard Bluetooth. Bring up the HCI device and start the Bluetoothctl service. Scanned for nearby devices, paired with the target device(Android phone), and pairing completed successfully. However, when attempting to connect to the device using: connect 60:0F:6B:88:21:96I received the following error: Attempting to connect to 60:0F:6B:88:21:96Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable Also find dmesg logroot@stm32mp2-e3-d2-9e:~# dmesg | grep Bluetooth[ 8.303247] Bluetooth: Core ver 2.22[ 8.306606] Bluetooth: HCI device and connection manager initialized[ 8.316581] Bluetooth: HCI socket layer initialized[ 8.320858] Bluetooth: L2CAP socket layer initialized[ 8.358922] Bluetooth: SCO socket layer initialized[ 8.448467] Bluetooth: HCI UART driver ver 2.3[ 8.448514] Blueto
I am encountering an issue while analyzing my model with STM32CubeMX using X-CUBE-AI for the STM32MP1 platform. The analysis fails with the following error message:ST Edge AI Core v2.0.0-20049 E102(CliArgumentError): stm32mp2 component is not available, please install this oneI am using STM32CubeMX with the X-CUBE-AI package (v10.0.0).(on windows10 PC host)I am trying to analyze a model (2dcnn.h5) that I want to deploy on the STM32MP1.The error indicates that the stm32mp2 component is not available and requests its installation.My questions are:What is the stm32mp2 component, and how can I install it to resolve this error?Is there any additional configuration required in STM32CubeMX to support STM32MP157 when analyzing models for deployment?Is there a known issue with X-CUBE-AI that might be causing this error?
I'm trying to setup CubeIDE for STM32MP1 but cannot make it to see the OpenSTLinux SDK.Following this article:https://wiki.st.com/stm32mpu/wiki/How_to_install_the_Yocto_Project_SDK_in_STM32CubeIDEThe popup window that should allow to download the SDK does not show up. Instead there is another one that opens the SDK manager directly. So I downloaded the SDK manually. However this SDK manager fails to recognize the SDK directory.These two discussions seem to imply that entering path of the directory where SDKs are installed should be enough:https://community.st.com/t5/stm32-mpus-products/openstlinux-sdk-manager-can-t-find-updated-sdk/m-p/568427https://community.st.com/t5/stm32cubeide-mcus/stm32cubeide-cannot-find-openstlinux/m-p/621928However in my case the "Available OpenSTLinux SDK:" window is always empty. wincak@wincak-pc:~/ST/SDK$ tree . └── stm32mp1-openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06 └── sdk ├── st-image-weston-openstlinux-weston-stm32mp1.rootfs-x86_64-toolchain-5
Hi,We have a custom carrier board based on STM32MP157DAC. We have built a custom yocto image.Yocto Version: MickledoreMachine: stm32mp15-discoSoM: STM32MP157DACDistro: openstlinux-westonLinux Kernel: 6.1.82-stm32mp-r2-r0I was able to get a EMMC binaries by adding below line in my local.confSTM32MP_DT_FILES_EMMC += "stm32mp157f-dk2"I have also attached the modified flashlayout for EMMC.I came across a post here saying if default pins are changes we will have to do otp for emmc to be detected.below are the pins we are using:-PB14SDMMC2_D0PB15SDMMC2_D1PB3SDMMC2_D2PB4SDMMC2_D3PA8SDMMC2_D4PA15SDMMC2_D5PC6SDMMC2_D6PC7SDMMC2_D7PE3SDMMC2_CLKPG6SDMMC2_CMDDo we need to do otp for these pins or what can be done for EMMC to be detected during dfu(0,0,0) mode for flashing to emmc.below is my flash layout file for emmc:-#OptIdNameTypeIPOffsetBinary-0x01fsbl-bootBinarynone0x0arm-trusted-firmware/tf-a-stm32mp157f-dk2-usb.stm32-0x03fip-bootFIPnone0x0fip/fip-stm32mp157f-dk2-optee-emmc.binP0x04fsbl1Binar
Hi,We have a custom carrier board based on STM32MP157DAC. We have built a custom yocto image.Yocto Version: MickledoreMachine: stm32mp15-discoSoM: STM32MP157DACDistro: openstlinux-westonLinux Kernel: 6.1.82-stm32mp-r2-r0EMMC : EMMC04G-MT32-FBGA153I was able to flash emmc image in DFU mode (000) after making uboot device tree changes I have done same changes in tfa device tree too. But when trying to boot from EMMC (010) It says SDMMC2 init fails and stops.NOTICE: CPU: STM32MP157DAC Rev.ZNOTICE: Model: STMicroelectronics STM32MP157F-DK2 Discovery BoardINFO: PMIC version = 0x21INFO: Reset reason (0x15):INFO: Power-on Reset (rst_por)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: FCONF: Reading firmware configuration information for: stm32mp_fuseINFO: Using EMMCINFO: Instance 2INFO: Boot used partition fsbl1ERROR: CMD13 failed after 5 retriesERROR: SDMMC2 init failedPANIC at PC : 0x2ffec98b
Hi STM32 Community,I am currently configuring ThreadX on STM32CubeIDE version 1.18.0.I am able to create tasks successfully, but after entering the tasks, I have encountered an issue where the tasks are not being scheduled properly.In brief, I am facing a similar problem as described in this thread:(https://community.st.com/t5/stm32-mpus-embedded-software-and/stm32mp135-dk-test-threadx/m-p/710219).However, when I use the example project from the STM32Cube repository:- Path: \STM32Cube_Repository\STM32Cube_FW_MP13_V1.2.0\Projects\STM32MP135C-DK\Applications\ThreadX\Tx_Thread_Creation- This example runs perfectly fine on my development board.My question is: Is there an incompatibility in STM32CubeIDE V1.18.0 that prevents the creation of properly functioning ThreadX tasks? If so, could you please confirm and provide any insights?Thank you for your help!
I have a new STM32MP157D-DK1. I have booted the board using the enclosed SD card and all appears to be working. The green LED next to CN6 is on, blue LED8 starts flashing a few seconds after power on. One of the block of 4 red LEDs next to the ST-LINK connector is flashing. I have connected the ST-LINK CN11 to a USB port on my Windows 11 laptop. I was assuming that the ST-LINK would be detected by Windows and would appear in the list of devices. However, I see nothing at all. No ST-LINK, no virtual COM ports. I have tried different power supplies for the board, different USB cables for the ST-LINK and different USB ports on the laptop.Is there something else I need to do to see the ST-LINK or does this indicate the board might have a fault?My aim was to run a very simple program on the CM4 processor using Cube IDE but so far all it says is No ST-LINK detected. I have various other STM32 dev boards and the ST-LINK and COM ports
Hi,I want to implement a quadrature encoder input with the 400 MHz M33 core of the STM32MP257 MCU:two inputs which use 90 degree phase shifted pulses to increment or decrement a counterno bitbanging, means it is natively running on the hardwarefully running on bare metel/HAL code on the M33 coreconfigured with CubeMXMy question: how can this be done exactly? Means what do I have to configure within CubeMX to have two (or four) inputs working as one (or two) quadrature encoder inputs with related counter(s)?Thanks!
Hi, I'm building st-image-weston on latest openstlinux scharthgap distribution package, and I got the error mentioned in Subject. All the fetch/compile/install are done, and the last step throw this error. Where is the IMAGE_ROOTFS_MAXSIZE defined? I'd really don't want to override anything in conf/local.conf, the build took so much time. Thanks.
Hey, I'm designing an stm32mpu1 board and I have the Discovery Kit (DK) as a reference design.In the DK I see the following schematic for the USB-C power supply (CN7): I am not quite sure what the point of the MOSFETS is.For the other USB-C (CN6) I see MOSFETS AND Bipolar transistors:Can someone explain what they are for? I'm trying to decide weather I need them in my design or not. Until now I always just connected the power supply to my PMIC and all I ever needed was some ESDs for protection and decoupling/bulk caps.
I've been trying to build compatible Android modules (.ko) for my STM32MP25F7-EV1 running OpenSTDroid Distribution. I've successfully built these modules, but I cannot enable them with the `insmod` command because they're incompatible.insmod: ERROR: could not insert module btusb.ko: Exec format error I ran `strings btusb.ko | grep vermagic` and it looks like the `btusb.ko` is using a slightly different kernel version than the target's kernel version (6.1.78-00024-ge4076639eb90 for module v.s. 6.1.78-00024-gf31b8a21afa8 for kernel).vermagic=6.1.78-00024-ge4076639eb90 SMP preempt mod_unload aarch64 __UNIQUE_ID_vermagic330 __UNIQUE_ID_vermagic330I don't understand where I'm going wrongly. Here's my module build process so farDownload OpenSTDroid Distribution (following the wiki linked here).Build OpenSTDroid using the wiki linked here.Set the following environment variablesexport BUILD_TOP=$(pwd) /* AOSP root/top directory */ export ARCH=arm64 export CROSS_COMPILE=aarch64-
hello, i have a stm32mp257f-dk ( new version replace stm32mp157f). it works fine with the openstlinux delivered with the kiit. i have added a 7" screen. demo is ok. but there is no web browser installed or available in the linux package. is someone has already succeeded to install a web browser.? regards gerard
I was trying to write a small firmware to keep the LD9 Orange LED steady ON, instead of blinking in STM32CubeIDE. I could able to flash into CM33 core using the debugger and able to debug. When I disconnect debugger, it still remain ON.But once I reset the board, the CM33 firmware is gone and LD9 again started blinking, as if my firmware is over written.Any solution?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.