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'm trying to embed an app in the st-linux distribution. I mean that the goal is to have it compiled with bitbake and integrated in a custom st-image-weston.I tried to use the gtk hello world example of Developper section (that run without problems) but with distribution package. ( https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-A7/Create_a_simple_hello-world_application )So I made a bitbake recipe but when I run it I get the error "error: gtk/gtk.h: No such file or directory".But bitbake layers include gtk+3, when I run bitbake gtk+3 it is successful.I tried adding gtk3 to compiling flags, DEPENDS, RDEPENDS, do_configure[depends] but nothing worked. The only thing that worked is sourcing the developper package sdk environnement setup, but it's weird. I'm a little of a beginner with bitbake and I didn't found how to make that developper package app work with the distribution package.Here is my .bb file :# Recipe
HelloI switched to the Distribution package to have access to the layers provided by ST.After I use command repo sync I, a file named layer is created.When I:DISTRO=openstlinux-weston MACHINE=stm32mp1-disco source layers/meta-st/scripts/envsetup.sh I get the following error[source layers/openembedded-core/oe-init-build-env][from nothing]Error: The OE SDK/ADT was detected as already being present in this shell environment. Please use a clean shell when sourcing this environment script.How can I clean the shell environment ?
I'm a newbie with embedded topics, for educational purposes I'm trying to set up my ST32MP157C-DK2 using Buildroot.Using menuconfig I pointed Kernel, TF-A and U-boot to the latest label releases of ST forked repos. But it did not work because it asked for FIP image. I enabled FIP image using menuconfig, but building fails. After investigating a bit, I realized Buildroot is missing a value for the variable BL33_CFG, which from some documentation I understand it should be set to the U-Boot dtb.Looking at the code and makefiles I couldn’t find a properly supported pattern for this, so I have made few changes: Buildroot to copy u-boot.dtb to the output folder, and set from menuconfig an additional variable for ARM_TRUSTED_FIRMARE: BL33_CFG=$(BINARIES_DIR)/u-boot.dtb.and also defined BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE=�?u-boot-nodtb.bin�? Now building succeed without issues apparently.The next step would be to flash using STM32CubeProgrammer, I use this tsv file:———– #
Hi, I did some power measurements with a Joulescope which measures the full power given to the card (no distinction between VDD, VDDCORE, etc.) - we chose this way for first measurements without card's resistors modification.I mostly followed the same steps as explained in the AN5284 application note.For point 3.1 with CoreMark, I've same iterations per seconds and a much higher power measurement which is normal as I measure the full system. But the difference between 1 or 2 core is the same as in the document.For point 3.3 with data acquisition : Here again, I have higher power measurement but it's still consistent as the ratio of power reduction is the same than in theorie.Then I was interested in point 4.3 (various low power modes) but I did get results I don't understand. Know that I changed the /etc/systemd/sleep.conf as explained here and used the systemctl suspend commend for MPU.When the card is idle (just powered on, but no program running) : 3060 mW When the card do a fo
Hi,I'm interested in all possible mechanisms of M4 waking A7. I know that this can be done with virtual UART and GPIO pins (6 of them if I'm right), but are there other ways to do it?Nenad
Hi ,Actally i want to read a PISO shifht register as spi slave.Device Tree: spi2_pins_a: spi2-0 { pins1 { pinmux = <STM32_PINMUX('A', 9, GPIO)>, /* uart8_tx */ <STM32_PINMUX('I', 2, GPIO)>, /* uart8_tx */ <STM32_PINMUX('I', 3, GPIO)>, /* uart8_tx */ <STM32_PINMUX('G', 2, GPIO)>; /* uart8_tx */ bias-disable; drive-push-pull; slew-rate = <0>; }; };&spi2 { compatible = "spi-gpio"; pinctrl-names = "default"; pinctrl-0 = <&spi2_pins_a>; cs-gpios = <&gpiog 2 0>; gpio-sck = <&gpioa 9 0>; gpio-mosi = <&gpioi 3 0>; gpio-miso = <&gpioi 2 0>; spi-delay-us = <1>;
Good afternoon, Olivier. Thanks for the help. But I saw a problem with MPU Serial (COM3). I ran ipconfig in Linux and found the real address of usb0 192.168.7.2 after that, the console worked.But the board does not allow debugging. I must have done something wrong. Sincerely, Alexander.
Is it possible to use the CubeIDE on OSX for debugging firmware for STM32MP1?The interface is lacking some features and the debugging configuration is completely different.Also I can't manage to make it work.Here is what shows up when I launch Debug Configurations:
Good afternoon. Using CubeMX, I created an empty project for the STM32MP157A-DK1 board. It compiles without errors. But when I try to start debugging in engineering mode, I get a message that there are too many breakpoints. When I try to start debugging in production mode, I have no connection between the board and the debugger. Where did I go wrong? Sincerely, Alexander.
Hi, I am developing firmware on the STM32MP157C-DK2 in engineering mode and using STM32Cube_FW_MP1_V1.4.0 and STM32CubeIDE. I must say this is my first project with a STM device and the tools. I am unable to direct printf to the UART4 linked to the onboard VCP of the STLink debugger. The cube package example 'UART_Receive_Transmit_Console' seems to directing printf to USART3 port, not the UART4. After reading the application note 'AN4989 Rev 3: STM32 microcontroller debug toolbox', printf redirection to uart port seems quite simple task. But since UART4 cannot be assigned to the CortextM4, it is shared port. I am unable to figure out where the handle of UART4 port is defined, which is essentially needed to redirect printf command. Thanks in advance for any help in making it work. Kind regardsHafeez
..
Hi,Looking at the reference manual, en.DM00327659.pdf, page 3929 it seems the simple way of debugging previous M4 processors using printf() redirect to the ITM and then using the SWO pin/STLINK interface could be used on the MP1 M4 core as well.But there isn't simple mention of the ITM functions in the STM32Cube_FW_MP1_V1.0.0 release, and there is not even a single declaration of the ITM HW in the stm32mp157cxx_cm4.h file(not even the 0xE0000000 base address).Can you provide some code example please, it will be much better starting point than the vague description of the ITM operation in the reference manual. Thank you!Edit: ST-Link utility connected to the STM32MP157C-DK2 dev board seems not able to connect (loaded with latest V2.J34.M25 firmware) to the MP1. It does reset it though, so printf in the SWO viewer is out of the question. Maybe there is a way to redirect ITM to the M4 core ?Second, seems the M4 ITM hw is loosely based on the STM32F469/479 ITM core(at least register addres
Hello, I wanted to know is there a support for autoconf , automake and libtool for STM32MPU? Is there any definitive guide to do so to enable it or install it? Can this be natively installed using sudo apt-get?I have many utilities working on raspberry PI and wanted to port them to stm32MPU but they require autoconf tools for building .Please let me know.Best,D
Hi, i am searching for informations. Sorry first for my english. I am trying to establish a connexion between my stm32 and my phone, i have to know when i send information from my smartphone to my discovery.First i have the starterPackage linux image on my discovery and i have a display example. I can connect my computer with ssh to it and put simple code example on it (hello world), and i can run it. I want the discovery to become a wifi host and send/receive informations between my smartphone and the discovery. But i cant find example on it.For the moment i want to send wifi to discovery and connect to it with my smartphone. Hoping you have some answers for me.
Moreover, when I play the demo video, core usage reaches up to 70%, so is the GPU really working? The blacklist file:root@stm32mp1:~# cat /etc/modprobe.d/blacklist.conf blacklist etnavivDmesg:root@stm32mp1:~# dmesg | grep galcore [ 19.326759] galcore: loading out-of-tree module taints kernel.Lsmod:root@stm32mp1:~# lsmod | grep galcore galcore 319488 6Core usage while playing video:10:56:40 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 10:56:41 all 78.92 0.00 12.43 0.00 0.00 0.00 0.00 0.00 0.00 8.65 10:56:41 0 82.18 0.00 16.83 0.00 0.00 0.00 0.00 0.00 0.00 0.99 10:56:41 1 75.00 0.00 7.14 0.00 0.00 0.00 0.00 0.00 0.00 17.86Thanks
CubeMX generates pinctrl bindings inside ltdc node, while here : https://wiki.st.com/stm32mpu/wiki/LTDC_device_tree_configuration pinctrl bindings reside inside panel node
I'm shopping for MCU / MPU hybrid processors like the STM32MP1, targeting applications that need Ethernet connectivity to both the MCU and the MPU. Simultaneous connectivity would be easiest to plan for, but selectable connectivity might also work.I would like to understand the topology of the Ethernet connection within the STM32MP1 among the Cortex-M and Cortex-A. I've scoured all of the STM32MP1 documentation and can find information only about the Ethernet component itself, and nothing on how it can be assigned or shared among the integral Cortex-M and Cortex-As. The STM32MP1 product introduction states that "most peripherals can be allocated to either the Cortex-A7 or Cortex-M4 cores". If this applies to the Ethernet MAC, does that mean that it can be allocated to only one of these at a time, not both? Can the allocation be changed on a running system, and does this require a reboot? Where is the mechanism for allocation documented?If the Ethernet interface is allocated to the Cort
Hello everyone, I'm configuring my STM32MP157C-DK2 Board pins and i want to make two SD Card partitions availabe. For the first one i chose the SDMMC1 and attributed it to PC10 pin for the second one do i need to choose SDMMC2 and to attribute it to another pin (for ex. PC6) or is it wrong ? Or can i divide later in the device tree ?
Hi,I'm developping an application where we want the cortex-M doing some power management (with OpenAMP) and the cortex-A taking picture and saving it on SD card.I have the STM32MP157A-EV1.I used the OpenAMP_TTY_echo_wakeup sample that I modified for my need to do the power management. Everything is working fine if I boot in third mode (ie. stm32mp157c-ev1-m4-examples). However, I don't have any camera input as it's saying that /dev/video0 doesn't exist.If I boot in second mode (ie. stm32mp157c-ev1-a7-examples), I've got a camera but I couldn't suspend at first (systemctl suspend), because I would get the following error : PM: Device 40017000.dac:dac@1 failed to suspend: error -16So, I commented every line of code linked to DAC and it worked (ie. I could have the OpenAMP and camera running at the same time). But it's not that great of a workaround. Ideally, I would want to update the device tree. Where could I find the initial device trees used so that I just can quickly modify them ? I
Hi!I use STM32MP151 chip. Use Linux OS. Two master clocks(MCLK) clk_x8(for 48000) and clk_x11(for 44100) connected to I2S_CKIN throw switch. GPIO select it. Can I configure SAI driver and device tree for this situation?
I have an STM32MP157F-DK2 board. I want to be able to build my own image from scratch and I keep hitting knowledge gaps in the how-to guides on the st wiki page. I have tried to follow multiple guides including this one: https://wiki.st.com/stm32mpu/wiki/How_to_manage_OpenSTLinux_project_in_STM32CubeIDEWhat I have done:I have took the default pinout from the STM32MP157F-DK2 from STM32CubeMX and generated the Device tree for that. I have opened the ioc file within STM32CubeIDE.I have setup OpenSTLinux as per the instructions in the how-to guidesWhere I am stuck:I don't have any reference for the run or build configurations.I have not found any information to find the Eclipse or build artifiacts as found in the example I have linked:What I have:What I am looking to do, as per the guide:
hi all ,i have a situation,1. external supply vdd given to cpu, with application running on it2. usb-otg is connected from computer to stm32mp1 which provides v5.3. power off/take off external power supplyideally unit should be OFF, but CPU is getting supply from PC-computer, has any one have suggestion ?how to make only power on and off via external board supply only after application running?
Hi,Is there any example application code for STM32MP1 to keep A7 in deep sleep mode while keeping M4 in always run mode?Regards,Ram
Hi,we are currently testing our FDCAN on our STM32MP157F Device. We get some Messages that there ist an access violation. We see that is caused by the M_RAF interrupt. Are there any hints to get rid off these messages and errors? We tried different settings with the message_ram config in the DT but with no successBest regards,Niklas
I have been looking for step by step guidance on how to create a linux application for STM32MP157C-DK2, but I end up being unsecssuful all the time. The only help I seem to get is to import an existing project, which does not help me. I want my application to be the one running on startup instead of the current demo application that is on the SD card.Your help on this matter is really appreciated.Sel.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.