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 develop an application that use an STM32MP1 Series (STM32MP157A-DK1 for the moment)My application need inter-processor communication between the A7 and M4 CoresI had generated my project with STM32CubeMX and the project is successfully created for the M4 core with a ready to use main.cppI then followed the wiki page How to manage OpenSTLinux project in STM32CubeIDE and compiled the Generated .dts files to a .dtb file and uploaded it on my board. (with a u-boot project)The new configuration works well on the board (my newly updated I2C port is now well recognized on CA7 so the configuration update worked) but when i'm trying to launch the CM4 project from STM32CubeIDE it fails with an error popup saying: "Failed to insert all hardware breakpoints: you have requested too many hardware breakpoints/Watchpoints" (even if i have only one!) and the followings console message:Info : Ne
I was able to build an image containing Chromium by adding meta-browser, meta-clang (dunfell branch) and meta-python2. I can verify Chromium built and was included in the image.The problem is when Chromium runs, it errors out with an error indicating it cannot open the display. Being new to Wayland, I searched for how (and what) to configure as the Wayland display. None of the examples seemed to work.My questions is has anyone been able to run Chromium on this machine? If so, what magic incantation did you use to get the correct display?Thanks,Greg
Custom board STM32MP15AABMX Cube version 6.2.1I just switched from v2 of the Distribution ecosystem to v3. After updating MX Cube to work with the latest and re configuring the kernel and device tree files I'm running into the listed issue.I am able to build and deploy everything to emmc and initially boot the kernel to a command prompt. Upon the next reboot, The system fails to boot to a command prompt and the otg peripheral complains about dwc2 49000000.usb-otg: Overcurrent change detected.Any ideas why, or tips for debugging?
Hi,I am using the STM32MP157F-DK2 MPU for a Linux project. Exactly, I am interested in Linux-RT. Browsing in the Internet, it is said that only is necessary applying a patch in the kernel. The patch file uses the command "git diff", but is not installed in the kernel.My goal is install it, however, "apt" is not either installed, so I have to make the install with "dpkg" - something completely caotic.HELP! Is there any way to install "apt" or "yum"? If not, how can I install "git" command so that applying the patch?Thanks,Oscar
I want to use the STM32CubeIDE to debug the M4 on the STM32MP1.I setup the debug setting for debug probe ST-Link (OpenOCD). If I use the automated generation of the script, it refer to [find target/stm32mp1x.cfg].This is not part of the default installation of STM32CubeIDE 1.6.1 and it is not located in https://github.com/STMicroelectronics/OpenOCD/tree/openocd-cubeide-r3/tcl/targetIn general it doesn't seems to be the MP1 openocd files for the MP1 within the windows installation.
Hi all, I'm trying to customize the device tree of the stm board, but I'm stuck early on. I'm trying to follow stm32mp157c-dk2 tutorial to flash Starter Package (https://wiki.st.com/stm32mpu/wiki/STM32MP15_Discovery_kits_-_Starter_Package), however, when I reach the step PC $> STM32_Programmer_CLI -l usb I get the following output~/stm32mpu-workspace/stm32mpu-tools/stm32-cube-programmer-240/bin/STM32_Programmer_CLI -l usb ------------------------------------------------------------------- STM32CubeProgrammer v2.4.0 ------------------------------------------------------------------- ===== DFU Interface ===== No STM32 device in DFU mode connected my host kernel version: 4.4.0-174-generic
My custom board is based on stm32mp157a-dk1,remove the pmic and usb type c circuit,My porting steps are as follows:1. porting u-boot, verify that u-boot functions properly, compile the uboot trusted image, copy u-boot.dtb to FIP_artifacts/u-boot/ and rename it to u-boot-stm32mp157a-custom-trusted.dtb, copy u-boot- nodtb.bin to FIP_artifacts/u-boot/ and rename it to u-boot-nodtb-stm32mp15.bin2. modify optie-os-stm32mp-3.12.0.r1-r0 source code, add custom dtsi and dts file, modify dtsi and dts file, add custom board in Makefile.sdk file CFG_EMBED_DTB_SOURCE_FILE, use make -f $PWD/ ... /Makefile.sdk CFG_EMBED_DTB_SOURCE_FILE=stm32mp157a-custom all command to generate tee-header_v2-stm32mp157a-custom.bin, tee-pageable_v2-stm32mp157a -custom.bin, tee-pager_v2-stm32mp157a-custom.bin three files and copied to the FIP_artifacts/optee/ directory, in the use of the command is an error prompt can not find other custom board related files in the FIP_artifacts/ directory, but can generate corresp
We would like to implement a dual partitioning system and I am trying to find out if it is possible to have a secondary SSBL (u-boot) partition in trusted mode (eMMC).I don't see any problems for bootfs, vendorfs, rootfs and userfs. FSBL is already redundant, but I could not find anything about having a secondary SSBL partition. Is that possible? Also, if it is possible to have a secondary SSBL partition, how can I tell FSBL to use a determined SSBL partition? From what I could see in the TF-A code, that is not possible, just want a confirmation.For context, all this is for updating a set of partitions when updating a device and switch to this set of partitions in the next boot.Thanks.
Hello ST Teams!I'd like to know if someone have ever tried to get 1920*1080*30fps with the configuration above (STM32MP157C-EV1 and MB1379 board). We'd like to achieve this performance, OV5640 datasheet camera says "ok for me"v4l2 listing capabilities says "ok for me" : Size: Discrete 1920x1080 Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.033s (30.000 fps)But if we try with dev board (OSD32BRK) and flying wires with camera(OV5640), fps is limited to 13fps.My question is: Is it possible to achieve 30fps in this configuration?we will reproduce schematics of (STM32MP157C-EV1 and MB1379 board) camera part(dcmi + ext cl
I have a STM32MP157D-DK1 board. I downloaded design files and surprisingly found there were 56ohm series resistors on ddr address lines. Though series resistors are normally found on data and address lines for ddr1 or ddr2, I have never seen them used for ddr3 mem chips. Are those resistors necessary for STM32MP1, or they are just optional, for the best possible signal integrity?Those resistors occupies a large board area, which is a pain for compact design.
Hi,I wanted to ask if there is a possibility to have the same time domain on the M4 and A7 cores?To be a bit more specific: my STM32MP1 board synchronises time over Ethernet using PTP (and that works great!) but now i want to timestamp a digital input pin.The options i have seen so far are:using EXTINT to assign a system timestamp when the interrupt occurs (on the A7) -- this is not accurate because of kernel interrupt handling and software timestampingusing TIMx and input capture mechanisms (on the M4) -- this would be my preferred way but there i have no information at which time TIMx value is and how to synchronise them with the A7one idea i had was using the PTP_Synchro PPS_OUT [which i still couldn't activate in Cube although i enabled TIM2 as slave with ETR] and correlate input capture values from CC2 with the PPS. but there only the duration from the last PPS to the current input capture is known -- then my idea was to use the RTC values to associate whole seconds but the RTC is
1. When I create an openamp-based virtual_huart0 on the M4 side for exchanging information,some code is as follows:if (VIRT_UART_Init(&huart1) != VIRT_UART_OK) { printf("VIRT_UART_Init UART1 failed.\r\n"); Error_Handler(); } VIRT_UART_StatusTypeDef VIRT_UART_Init(VIRT_UART_HandleTypeDef *huart) { int status; /* Create a endpoint for rmpsg communication */ status = OPENAMP_create_endpoint(&huart->ept, RPMSG_SERVICE_NAME, RPMSG_ADDR_ANY, VIRT_UART_read_cb, NULL); if(status < 0) { return VIRT_UART_ERROR; } return VIRT_UART_OK; }and this will create the /dev/ttyrpmsg0 device on the Linux side.To exchange data, I directly use OpenAMP library functions to create nodes,and In Linux, the driver rpmsg client sample will be loaded.some code as follow:#define RPMSG_SERVICE_NAME "rpmsg-client-sample" OPENAMP_create_endpoint(&remsgr_ept,RPMSG_SERVICE_NAME,RPMSG_ADDR_ANY,rx_callback,NULL);Now the pro
Hello, We are upgrading from BSP 2.1.0 to 3.0.0. With BSP 2.1.0 we had implemented a Secure Boot mechanism as described here, i.e. both TF-A and u-boot were signed with the STM32 Signing Tool and had a stm32 header added. Now with BSP 3.0.0 we see that u-boot is instead encapsulated in a FIP binary which is loaded by TF-A. The problem with this is that this seems to increase boot time by about 1 second (measured with grabserial). The difference seem to be related to TF-A; see the following traces measuring time from boot until the first u-boot trace is printed: For 2.1.0: [0.000001 0.000001] INFO: Software access to all debug components is disabled [0.479875 0.479874] INFO: Cannot get CPU version, debug disabled [0.483940 0.004065] NOTICE: CPU: STM32MP157CAC Rev.? [0.003018 0.003018] NOTICE: Model: STMicroelectronics STM32MP157C-DK2 Discovery Board [0.010905 0.007887] NOTICE: Board: MB1272 Var2.0 Rev.C-01 [0.014942 0.004037] NOTICE: Bootrom authentication su
I want to populate the distribution to an SD-card and mount it in STM32MP157A-DK1 according to this link: https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer#How_to_populate_a_microSD_card_inserted_in_a_Linux_host_PCMy host PC is a virtual machine and it seems like there is a problem with STM32CubeProgrammer reconnecting to the device (see uploaded image). I have changed the USB settings on my virtual machine to automatically attach the device to it. This works fine when I press the reset button on STM32MP157A-DK1, it unmounts and mounts directly to the virtual machine again.How can I solve the reconnecting problem with STM32CubeProgrammer? Is there another way to populate an SD card by copying files from the deploy folder in the built distribution folder?
Hi,I've noticed when booting one of our board designs with a STM32MP157C in openstlinux-5.4-dunfell-mp1-20-11-12 with Weston Wayland under the STM32MP157-Ecosystem-v2.1.0 that multiple times when the kernel is loading I'll see the message "stm32-dmamux 48002000.dma-router: Run out of free DMA requests" reported to std-out. Does anyone know if when this occurs, what kind of behavior STM32 modules that attempted to issue a DMA request will have? Do they fall back to using a non-DMA access mode, wait until a free request becomes available, or just fail outright?I've attempted to find an answer to this in the dmamux documentation but did not see anything addressing this and looking at the code for the implementation itself, it didn't seem immediately obvious either. Any assistance would be appreciated, thank you.
I created a project using CUBEIDE for STM32MP157C-DK2 and set all peripherals to initialize. I enabled FreeRTOS and then started porting over the example code in in the Projects folder for the OpenAMP_FreeRTOS_echo application. It is all compiling OK but the code is not executing correctly. Comparing the application example code to the CUBEIDE project I find that the code to init the IPCC and OpenAMP in the example is : /* Configure the system clock */ if (IS_ENGINEERING_BOOT_MODE()) { /* Configure the system clock */ SystemClock_Config(); } /* IPCC initialisation */ MX_IPCC_Init(); /* OpenAmp initialisation ---------------------------------*/ MX_OPENAMP_Init(RPMSG_REMOTE, NULL);But the CUBEIDE generated code looks like this: if(IS_ENGINEERING_BOOT_MODE()) { /* Configure the peripherals common clocks */ PeriphCommonClock_Config(); } else { &nbs
Hello,I can't use the "ums" command via terminalprog (minicom)Message is always"STM32MP> ums 0 mmc 0UMS: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x1dacc00Please connect USB cable. "After 60 seconds: "USB cable not detected. Command exit."Communication via minicom/ST-Link and ETH works.STM32MP> usb startstarting USB...USB0: USB EHCI 1.00scanning bus 0 for devices... 2 USB Device(s) foundscanning usb for storage devices... 0 Storage Device(s) foundSystem is buildroot, an older one and a version with kernel 5.8. No difference.I can't find the mistake.Marc
Similar question was asked here:https://community.st.com/s/question/0D50X0000AvgWuG/how-to-use-timers2-as-pwmbacklightBut this does not work on v5.4 kernel anymore. So a working example would be nice as pwm-backlight device tree handling is not documented in the wiki. SoC is STM32MP157. Current code is:panel_backlight: panel-backlight { compatible = "pwm-backlight"; pwms = <&pwm12_pins_a 0 5000000>; pwm-names = "backlight"; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <6>; status = "okay"; }; &timers12 { /delete-property/dmas; /delete-property/dma-names; status = "okay"; pwm12: pwm { pinctrl-0 = <&pwm12_pins_a>; pinctrl-1 = <&pwm12_sleep_pins_a>; pinctrl-names = "default", "sleep"; #pwm-cells = <2>; status = "okay"; }; timer@11 { status = "okay"; }; }; 
Hi,My test kit is STM32MP157C-DK2 and kenerl version is 5.10.10.I tried to monitor falling edge event on PD.1, with command "gpiomon --falling-edge gpiochip3 1". It is faile and and the log in the attachment.Then I disable "hdmi-transmitter@39" in "stm32mp15xx-dkx.dtsi" and comiple it again and replace file in the OS, Then executing command "gpiomon --falling-edge gpiochip3 1" will work correctly.Please advise why PIN PG.1 interrupt configuration will affect PIN PD.1 interrupt configuration. Thanks,QiZhang
I work on Windows and use the STM32CubeIDE 1.6.1. I want to program and debug the M4 part, On the A7 part Linux is working.My current state is, that The A7 is in Bootloader mode and the DFU per USB is connected and shown in Windows (Gerätemanager) as USB device. There is no serial port.In the debug settings STM32CubeIDE require a serial port.With STM32CubeProgrammer USB1 connects and seems to workAt the end of the day I want to create and debug a M4 program.ThxSteffen.
Hello, is there a way to use a debian linux on STM32MP1 instead of openliunxst? How to deploy xlinux ai as well on debian instead of openstlinux?
HiIn my project the root filesystem is read-only, so I need to have a writeable partition mounted on /home. I first tried doing this in my machine conf (conf/machine/stm32mp1-raichu.conf) with the following lines:ST_VENDORFS = "0" ST_USERFS = "1" STM32MP_USERFS_MOUNTPOINT = "/home"But it doesn't mount on /home, it still mounts on /usr/localAny help?
Hello, I have a question.What are some ways to control GPIO from python?I want to do that with a starter package.Best Regards!
a tsv file with #Opt id Name Type IP Offset Binary - 0x01 fsbl Binary none 0x00000000 u-boot-spl.stm32 I got different error messages:stm32CubeProgrammer on windows:sending a dfu end of download request DFU status = 0 DFU State = 7 DFU status = 14 DFU State = 10 an error occured after sending a dfu end of download request Status: errUNKNOWN, State: dfuERROR Error: Start operation failed at partition 0x01 Error: TSV flashing service failed Warning: Connection to device 0x500 is loststm32CubeProgrammer on Linux:File download complete Time elapsed during download operation: 00:00:02.924 RUNNING Program ... PartID: :0x01 Error: Start operation failed at partition 0x01 Error: TSV flashing service failed Warning: Connection to device 0x500 is loststm32CubeProgrammer_CLI on LinuxFile download complete Time elapsed during download operation: 00:00:02.863 RUNNING Program ... Address: : 0x1 Error: an error occured while uploading data from the virtual partition 0xF1 Start operat
Hi,I test commands"echo 97 > /sys/class/gpio/exportecho out > /sys/class/gpio/gpio97/directionecho 1 > /sys/class/gpio/gpio97/valueecho 0 > /sys/class/gpio/gpio97/value", the value on the pin PD.1 can't change.Test command:" gpioset gpiochip3 1=1 gpioset gpiochip3 1=0" the value on the pin PD.1 can change.Please advise how to solve the issue on "/sys/class/gpio".Thanks,QiZhang
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.