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, I followed the instructions as mentioned below.repo init -u https://github.com/STMicroelectronics/oe-manifest -b refs/tags/openstlinux-6.1-yocto-mickledore-mp1-v24.03.13 (v5.0.3)repo syncgot pyqt5 files from https://github.com/STMicroelectronics/meta-st-pkgrepo-updates/tree/openstlinux-ecosystem-5.0.0/recipes-python/pyqt5and copied them to layers/meta-qt5/recipes-python/pyqt5run DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh to get the conf/local.conf fileAll packages installed: “Check OK: all required packages are installed on host.”added IMAGE_INSTALL:append = " python3-pyqt5" to my image in build-openstlinuxweston-stm32mp1/conf/local.confbitbake st-weston image However, I'm encountering the following error:ERROR: Task (/home/abcd/DistributionPackage/layers/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb:do_configure) failed with exit code '1' when i checked error log in that it was mentioned
What is FOO driver in https://wiki.st.com/stm32mpu/wiki/Interrupt_overview Interrupts overview should we have mention in our device tree files please explain me for better understanding I am a beginner. My goal is to fix few GPIOs as interrupts. How can write a program generating interrupts ?
Hi ST team!I need to create a gateway that will connect a web server to a variaty of nodes. The gateway will connect a few universes of DMX/RDM and DALI protocols. I also plan to add a LoraWAN and OTA feature. We are not planning on using a GUI. As far as I know, an MCU would be pretty tight to run all of this, so we are thinking about using an MPU. Can someone help me ask the right questions to choose the correct MPU? I have worked with STM32MP15 in the past, but this was for a GUI related product, so I don't have full experience to choose a non-GUI MPU. Thanks a lot in advance
Hello everyone,We are currently working on a project based on the STM32MP2 platform and are evaluating solutions for reliable OTA updates. We're particularly interested in using Mender for this purpose.However, so far I haven’t found any official documentation or community references about Mender support on STM32MP2. I’m aware that Mender has been successfully integrated on STM32MP1 in the past (e.g. Yocto-based builds), but it’s unclear whether the same applies to the newer MP2 platform.Questions:Has anyone successfully integrated Mender on STM32MP2?Are there any known limitations or blockers specific to this platform?Any recommendations on bootloader setup, partitioning, or Yocto layers that are MP2-compatible with Mender?Thanks in advance
HI: I install the mini PCIe MT7921 wireless network card on stm32mp257f-ev1 board. root@stm32mp2:/# lspci00:00.0 PCI bridge: Synopsys, Inc. Device 0550 (rev 01)01:00.0 Network controller: MEDIATEK Corp. MT7921 802.11ax PCI Express Wireless Network AdapterThe device is normal.configure the kernel and use MT2791(pcie) ,after compilation, update the kernel and modules using the scp command.root@stm32mp2:/lib/modules/6.1.82/kernel/drivers/net/wireless/mediatek/mt76/mt7921# modinfo mt7921e.kofilename: /lib/modules/6.1.82/kernel/drivers/net/wireless/mediatek/mt76/mt7921/mt7921e.kolicense: Dual BSD/GPLauthor: Lorenzo Bianconi <lorenzo@kernel.org>author: Sean Wang <sean.wang@mediatek.com>firmware: mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.binfirmware: mediatek/WIFI_RAM_CODE_MT7922_1.binfirmware: mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.binfirmware: mediatek/WIFI_RAM_CODE_MT7961_1.binalias: pci:v000014C3d00000616sv*sd*bc*sc*i*alias: pci:v000014C3d00000608sv*sd*bc*sc*i*alias: pc
I updated from Ecosystem v6.0.0 to Ecosystem v6.1.0. I have a project that I started from an ioc for the STM32MP157f-dk2 board. The A7 projects all compiled fine. After updating, I changed the SDK root to:`EcoSystem/STM32MPU-Ecosystem-v6.1.0/Developer-Package/SDK` ad I'm getting this error when trying to compile and of the CA7 projects:09:09:49 **** Build of configuration Default for project FDCAN1-M4_CA7_linux-6.6.48 **** make all Wrapper for /opt/st/stm32cubeide_1.18.1/plugins/com.st.stm32cube.ide.mpu.linux.toolchain_2.2.0.202409171043/tools/bin/make FIP_DEPLOYDIR_ROOT: /home/smanger/github/workspace/FDCAN1-M4/CA7/linux/build/../../FIP_artifacts + case "$command" in + exec make all Makefile:2: /home/smanger/DevBoard/A7/STM32MPU-Ecosystem-v6.0.0/Developer-Package/stm32mp1-openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.6.48-stm32mp-r1-r0/linux-6.6.48/Makefile: No such file or directory make: *** No rule to make target '/home/smanger/DevBoa
Hi, During the Creation of the new STM32 project in STM32IDE for STM32MP157F Evaluation board.I'm encountering issue as "Failed to configure local OpenSTLinux version openstlinux-6.1-yocto-mickledore -mpu-v24.06.26".I have attached error image for your reference. Thanks M Gokulraj
I used the same code. Previously, I was using STM32Cube_FW_MP1_V1.2.0, but after forcibly upgrading to STM32Cube_FW_MP1_V1.7.0 using CubeIDE, the compiled firmware can no longer generate a virtual serial port( /dev/ttyRPMSG0). This is the log I used with version 1.7.[ 3276.128100] remoteproc remoteproc0: powering up m4 [ 3276.141973] remoteproc remoteproc0: Booting fw image RPMsg_UART_CM4_te.elf, size 2549508 [ 3276.149267] mlahb:m4@10000000#vdev0buffer: assigned reserved memory node vdev0buffer@10042000 [ 3276.164561] virtio_rpmsg_bus virtio0: rpmsg host is online [ 3276.168677] virtio_rpmsg_bus virtio0: creating channel rpmsg-tty addr 0x400 [ 3276.188640] mlahb:m4@10000000#vdev0buffer: registered virtio0 (type 7) [ 3276.203388] remoteproc remoteproc0: remote processor m4 is now up This is the log I used with version 1.2[ 3395.909607] remoteproc remoteproc0: powering up m4 [ 3395.954530] remoteproc remoteproc0: Booting fw image RPMsg_UART_CM4.elf, size 2042304 [ 3395.961362]
Hi, I am working with STM32MP157A-DK1 board with Yocto build system.I am trying to build synchronised system, that means I want to synchronise both CortexA7 and CortexM4. Basically I want to have the same time at both of them. I want to use STGEN for that, read it's counter on both A7 and M4 and share the values to calculate difference.And here is my question, how can I enable STGEN in my own linux image (I am not using OpenSt distribution right now). My image is basing on core image minimal.When I try to read STGENR registers provided in RM0436 with that piece of code (it is executed by M4):#include "stgen_read.h" #include "openamp.h" #define STGENR_BASE_ADDR 0x5A005000UL #define STGENR_CNTCVL_OFFSET 0x000 #define STGENR_CNTCVU_OFFSET 0x004 #define STGENR_CNTCVL_REG (*(volatile uint32_t *) (STGENR_BASE_ADDR + STGENR_CNTCVL_OFFSET)) #define STGENR_CNTCVU_REG (*(volatile uint32_t *) (STGENR_BASE_ADDR + STGENR_CNTCVU_OFFSET)) #Debug purpose extern struct rpmsg_endpoint ept; uint64_t
Hi everyone,I'm currently working on the PCIe part of the STM32MP25 and would like to ask if there's anything wrong with my configuration. I’ve followed the official documentation provided by ST.Here are the documents I’ve referenced:PCIe device tree configuration - stm32mpuCOMBOPHY device tree configuration - stm32mpuBelow is my device tree configuration:/ { clocks{ /* USER CODE BEGIN clocks */ pad_clk: pad-clk { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <100000000>; }; /* USER CODE END clocks */ }; }; /*root*/ &pcie_rc { pinctrl-names = "default", "init"; pinctrl-0 = <&pcie_pins_mx>; pinctrl-1 = <&pcie_init_pins_mx>; status = "okay"; /* USER CODE BEGIN pcie_rc */ reset-gpios = <&gpioa 2 GPIO_ACTIVE_LOW>; wakeup-source; wake-gpios = <&gpiog 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* USER CODE END pcie_rc */ }; &combophy { status = "okay"; /* USER CODE BEGIN combophy */ // st,ssc-on
Hello,I have a problem with the U-Boot stuck and loading the KernelHere is my logSpoiler (Highlight to read)NOTICE: CPU: STM32MP151CAA Rev.ZNOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11INFO: PMIC version = 0x21NOTICE: Reset reason (0x114):INFO: IWDG1 Reset (rst_iwdg1)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000INFO: FCONF: Reading firmware configuration information for: stm32mp_fuseINFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using SDMMCINFO: Instance 1INFO: Boot used partition fsbl1NOTICE: BL2: v2.10-stm32mp1-r1.0(debug):lts-v2.10.5-dirty(7c229848)NOTICE: BL2: Built : 16:19:31, Jun 28 2024INFO: BL2: Doing platform setupINFO: RAM: DDR3-DDR3L 16bits 466000kHzINFO: Memory size = 0x20000000 (512 MB)INFO: BL2: Loading image id 1INFO: Loading image id=1 at address 0x2ffff000INFO: Image id=1 loaded: 0x2ffff000 - 0x2ffff1eaINFO: FCONF: Reading FW_CONFIG firmware configuratio
Hi all,I'm working on a custom STM32MP135 SOC hosting a MMC memory. The original firmware creates some tasks by the osThreadNew() function and works correctly.Now I'm inserting FileX module on the firmware to support a FAT fs on the MMC memory.The firmware lauch a mmc_init() function to setup the FileX structures: fx_system_initialize(); UINT status = fx_media_open(&mmc_disk, MMC_MEDIA_NAME, fx_stm32_mmc_driver, (VOID *) 0x00, (VOID *) media_memory, sizeof(media_memory)); printf("[mmc_init] Media open status: x%x\r\n", status); #if FORCE_MMC_FORMAT == 1 status = FX_BOOT_ERROR; // #endif if (status != FX_SUCCESS) { printf("[mmc_init] Failure: x%x\r\n", status); // Se l'errore è FX_BOOT_ERROR, proviamo a formattare il media if (status == FX_BOOT_ERROR) { printf("[mmc_init] Attempting to format media...\r\n"); status = storage_mmc_format(); if (status != FX_SUCCESS) { printf("[mmc_init] Format failed: %d\r\n", sta
I've upgrade an ioc based project for the STM32MP157F-DK2 from CubeIDE 1.18 to 1.19 and from Ecosystem 6.0.0 to 6.1.0.I set the SDKROOT correctly. And then `Setup OpenSTLinux` from the IDE. Then I `Import and OpenSTLinux` project. All of that I was successful. I used the command and the SDK to build the `Modify, rebuild and reload the Linux® kernel` and copied over the new OS to the DevBoard as directed in The WikI Webpage.I can not build any of the build targets. The all give this error:My Linux project structure is as follows:and the build directory contains a link to itself:Here is my `ostl-linux` directory:
I am trying to control the LTDC on the STM32MP257FAL based on the STM32MP257F-DK board, but I am unable to configure pin PH4. This pin is used as LED1 on the STM32MP257F-DK board, which is the LED near the button. However, I cannot find where this pin is configured in the kernel, OP-TEE, TF-A, or U-Boot.Below is the relevant log message:[ OK ] Reached target Local File Systems.Starting Automatic Boot Loader Update...Starting Create Volatile Files and Directories...[ OK ] Finished Coldplug All udev Devices.[ OK ] Finished Load/Save OS Random Seed.[ OK ] Finished Automatic Boot Loader Update.Starting Wait for udev To Complete Device Initialization...[ OK ] Finished Create Volatile Files and Directories.[ 6.950932] cfg80211: Loading compiled-in X.509 certificates for regulatory database[ 6.995536] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'[ 6.996629] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'[ OK ] Started Network Configuration.Starting Network Name Resolutio
I am using the STM32MP157F-DK board and attempting to connect an NXP Wi-Fi + Bluetooth module via SDIO through the 40-pin expansion header. For this, I designed a custom PCB with an SD card holder and connected the SDIO lines from the expansion header to the SD holder using jumper wires.When I insert the Wi-Fi module into this setup, it fails to get detected and throws one of the below mentioned errors, such as:mmc1: error -16 whilst initialising SDIO card mmc1: Card stuck being busy! __mmc_poll_for_busy mmci-pl18x 48004000.mmc: card claims to support voltages below defined range mmc1: error -84 whilst initialising MMC cardHowever, when a standard SD card is inserted into the same slot, it is detected correctly and works as expected.Could you please advise if any changes are required in the Device Tree (DTB) or if any hardware modifications are needed to enable proper detection and operation of the Wi-Fi module?SDMMC3 node configuration in DTB file as below :mmc@48004000 {compatib
I have created a CubeMX project for STM32MP235.I have successfully built, Flashed and able to boot it on STM32MP257-EV1 board. (I don't have my 235 custom board ready yet.)Once I switch to normal boot after flashing, it runs until kernel tries to run some process printing message on Serial "[ OK ] Started Calibrates HSI/CSI clocks." after which IAC exception handler kicks in from OPTee and system crashes.From the log what I can see that kernel is asking for access to peripheral ID 156, which I presume that is RCC. (found ID from reference manual and some online posts).Can anyone help me which setting I am missing in my cube MX project or any User entry in any of DTS that cubeMX generates?Here is the snippet of Console Log. IOC file for my project is also attached.Welcome to ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 5.0.8-snapshot-20250722 (scarthgap)! [ 2.783063] systemd[1]: Hostname set to <stm32mp23-trb-235-protoa>. [ 2.812342] systemd[1]: Using hardware watchdo
Hi,is there any way to share an external interrupt, coming from two separate GPIOs, between M4 and A7 cores in stm32mp15x family? thanks
I'm trying to update linux kernel on OSD32MP1-RED board to the latest kernel 6.6.78 that's provided with Developer Package using instructions in README.HOW_TO.txt.stm32mp1, but after building and installing kernel and modules on SD card booting from SD card hangs and then board goes into continuous cycle of rebooting due to watchdog. Is there a way to use latest ST kernel with this board? Here is output from the booting:NOTICE: CPU: STM32MP157F?? Rev.ZNOTICE: Model: Octavo OSD32MP1 RED boardINFO: Reset reason (0x214):INFO: IWDG2 Reset (rst_iwdg2)INFO: PMIC version = 0x21INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe3000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using SDMMCINFO: Instance 1INFO: Boot used partition fsbl1NOTICE: BL2: v2.4-r1.0(debug):v2.4-stm32mp-r1NOTICE: BL2: Built : 23:04:23, Apr 24 2022INFO: BL2: Doing platform setupINFO: RAM: DDR3-DDR3L 16bits 533000KhzWARNING: Couldn't find property st,phy-cal in dtbINFO:
I'm currently evaluating an embedded linux system for a specific use-case with my company.What's necessary is a lot of specific interfaces, like MIPI-DSI/DisplayPort/HDMI, USB HS (+PHY) and the standard RAM and other peripherals. I've found the STM32MP257FAK3, or more specifically the Discovery Board STM32MP257F-DK from ST to be sufficient for my task and would like to keep working either with it directly or with something very similar - that's where the issue starts.In ST's license agreement, the commercial use of a DISCO board is prohibited, so buying them directly from ST and using them as components in their designated machines is not an option.Out of curiosity, I've used the publicly available BOM and manufacturing files for the DISCO board for a lower-volume quotation, just to see where a custom and perhaps reduced board would get me - let's just say a very popular pcb manufacturer would like 3.5k for 5, yes, 5 boards. The components make up for most of the cost, but buried
Hello everyone ! I use the stm32mp257f-dk with yocto for a project. To benchmark my programs, I need kinda heavy packages. To solve my IMAGE_ROOTFS_MAX issue, I followed the following topic : https://community.st.com/t5/stm32-mpus-embedded-software-and/increasing-the-rootfs-size-on-a-stm32mp157f-dk2/m-p/205665Unfortunatly, even if the distro compile, I have the following warning at the end of my compilation (see screenshot below).My configuration is the following :- local.confROOTFS_PARTITION_SIZE = "12582912"IMAGE_ROOTFS_MAXSIZE = "12582912"I tried to add the in /meta-st/meta-st-stm32mp/conf/machine/include/st-machine-common-stm32mp.inc too, but i don't have more results.I don't have any more idea to solve the issue. All the help is welcome !
Dear sir/mamWe are currently working with a custom board based on the STM32MP257D processor and are attempting to boot Trusted Firmware-A (TFA) and U-Boot. For this purpose, we have used the defconfig of the STM32MP257F-EV1 development kit as a reference.Our hardware configuration differs from the EV1 kit in the following key aspects:The PMIC on our custom board is connected to I2C4, whereas the EV1 kit uses I2C7.Our board utilises LPDDR4 memory, while the EV1 kit is equipped with DDR4.We have made the necessary adjustments in the device tree and platform files to reflect these changes. Despite this, we are encountering a panic during the boot process from the SD card.To isolate the issue, we attempted to comment out the PMIC initialisation code located in the bl2_platSetup.c file. With this change, the boot process fails with the message ddr_power_init failedFurthermore, when we bypass the stm32mp_board_ddr_power_init function, the boot log shows the following errors:ERROR: ddrph
Hi everyone, for learning purposes I’m trying to build meta-doom for stm32mp257 DK. I previously tried it for RPi4 and after some minor fixes I was able to do it for nanbield/mickledore poky version. What I established it is possible to run it and it still works.My setup for stm32mp2 version is that I cloned mickledore repo manifest and integrated meta-doom layer. Doom wouldn’t buil for wayland so I had to change my display manager to X11. It’s not directly supported but still possible (source: https://community.st.com/t5/stm32-mpus-embedded-software-and/how-to-setup-x11-in-the-distro-instead-of-wayland-on-stm32mp1/td-p/741125)Now gzdoom builds and I’m able to execute on target. However, after uploading proper WAD I get this error:no vulkan device found supports minimum requirements of this applicationI installed vulkan-loader and vulkan-tools into the image and vulkaninfo gives me following information:root@stm32mp25-disco:~# vulkaninfo WARNING: [Loader Message] Code 0 : loader_scanne
Dear sir/Mam While analyzing the reset handler code within the bl2.elf binary from Arm Trusted Firmware, we observed that the label S3_15_C2_C1_1 is being referenced in the cortex_a35_reset_func. We would like to request your clarification on the following points:Could you please confirm whether S3_15_C2_C1_1 refers to a system register?If so, is S3_15_C2_C1_1 the official name of the register?Additionally, we would appreciate your guidance on where this register is documented and how it can be accessed (e.g., using MSR/MRS instructions or through a specific architectural feature of the Cortex-A35). Thanks & RegardsAkshitha Pattem
Hi All, can any one tell me what is the Maximum Speed of toggling GPIO on userspace and the kernel space.I was trying with kernel module programming with IOREMAP API i got 35 Nano seconds. but my requirement is maximum 8 Nano second, can any one please let me know is there any possibility. toggling GPIO at 8 nano second.
I upgraded to the new development release. I can not create a OpenSTLinux project for my ioc file. I am working with the st32mp157f-dk2 and have installed the new v6.1.0 ecosystem. I have upograde rhw STM32CubeiDE TO V1.19.0.I set the SDK Root. an loaded the plugins. I have been able to create a user space and trusted applications. However, I can not get the OpenSTLinux project to load. The pictures on the webpages all have broken links:https://wiki.st.com/stm32mpu/wiki/How_to_manage_OpenSTLinux_projects_in_STM32CubeIDE#:~:text=From%20STM32CubeIDE%20v1.,to%20make%20project%20usage%20easier I don't know what I am not doing correctly.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.