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
on the left CubeMX generated for STM32MP157AAAC and on the right, dk1 dts included: stm32mp15-pinctrl.dtsi (kernel dtsi)The biases are reversed and the pin controls are in separate groups in the DK1 dtsi files. and the slew rates are diferent.i am wondering if this is the reason why mmc dev 1 , mmc info uses 4 bits for GPIO even 8 bits bus is declared.
I'm trying to testing secure boot on a STM32MP157F-EV1. To do so, I planned to use the fuse override command to test secure boot without having to actually burn the OTP 24-31 with the public key hash.But it appears that fuse override command is not working properly: after overriding cache to store publicKeyhash.bin, the read is exempt of the key. (note: the publicKeyHash_values is a placeholder)STM32MP> fuse override 0 0x00000018 publicKeyhash_values Overriding bank 0 word 0x00000018 with publicKeyhash_values[0] Overriding bank 0 word 0x00000019 with publicKeyhash_values[1] Overriding bank 0 word 0x0000001a with publicKeyhash_values[2] Overriding bank 0 word 0x0000001b with publicKeyhash_values[3] Overriding bank 0 word 0x0000001c with publicKeyhash_values[4] Overriding bank 0 word 0x0000001d with publicKeyhash_values[5] Overriding bank 0 word 0x0000001e with publicKeyhash_values[6] Overriding bank 0 word 0x0000001f with publicKeyhash_values[7] STM32MP> fuse read 0 0x00000018 8
Custom board. Boot log as belowextlinux.conf:MENU BACKGROUND /splash_landscape.bmpTIMEOUT 20LABEL OpenSTLinuxKERNEL /uImageFDTDIR /INITRD /st-image-resize-initrdAPPEND root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=${console},${baudrate} dyndbg="file drivers/usb/core/hub.c +p"adding the dyndbg following: https://wiki.st.com/stm32mpu/wiki/How_to_use_the_kernel_dynamic_debug#Debug_messages_during_boot_processums 0 mmc 0Did not show /media/$USER/bootfs.Any hints/ideas/suggestion to (enable) debug the root cause?the dt of u-boot is the same as for the kernel.The kernel uImage and DT blob were copied to bootfs.The rootfs /lib/modules was also updated, probably not needed as the SD card was created with the files and tools of the starter package in ECO 5.0.0. and modules were not changed.U-Boot 2022.10-stm32mp-r1 (Oct 06 2023 - 20:22:10 +0800)CPU: STM32MP157AAA Rev.BModel: STMicroelectronics custom STM32CubeMX board - openstlinux-6.1-yocto-mickledore-mp1-v23.06.
Run bitbake rep and sync and DISTRO, then bitbake , it shows the EULA and the build start, interrupt the build by press CTRL-C, closing the console window and re-entering it. then start bitbake, below errors occur.Even creating a new folder running the repo and sync command and then DISTRO shows:HOST DISTRIB check]Linux Distrib: UbuntuLinux Release: 23.04[source layers/openembedded-core/oe-init-build-env][from nothing][EULA configuration][WARNING] No eula file found : not able to configure EULA agreement or not.[Configure *.conf files][INFO] No 'site.conf.sample' file available at /home/user/distro/layers/meta-st/scripts. Create default one...[WARNING] Not able to find STM32MP1.conf file in layers/meta-st : bblayer.conf not updated...===========================================================================Configuration files have been created for the following configuration:DISTRO : openstlinux-westonDISTRO_CODENAME : mickledoreMACHINE : STM32MP1BB_NUMBER_THREADS : <no-custom-conf
..
Hello,we are using STM32MP157A-DK1 Board.we are trying to ping ethernet continuously in uboot can you suggest us how to ping ethernet continuously using commands.Is there any option to write script in uboot to ping continuously.Plese suggest how to write the script.regards,Navaneeth kumar
Hello,I read the AN5122 which explains in chapter 4.2, that the RAM lane byte 0 must be connected to byte 0 of the MP1 and that the bits swapping is not possible. However on the EV1 board, the bits inside byte 0 lane are swapped. Furthermore, i do not know how to identify byte 0 at the ram chip, since i want to use two of them.For the design I am working on, I need 1GB DDR3L RAM, split in two 512MB RAM chips. In the AN I found this picture:I'd like to place the two chips next to each other, using STM32MP1's Byte 2 / Byte 0 for chip 1 and Byte 1 / Byte 3 for chip 2. Is this possible to do?Thanks
Dear experts. we plan to use a STM32MP157, where the A7 core should have 512MB DDR RAM, and theM4 core 16 MB. What options exists, to give the M4 core that 16 MB of RAM?From the DS, i understand that the DDR RAM of the A7 is not accessible for the M4. Is that right?external QSPI PSRAM, would be low cost and low pin count. From the DS, the QSPI interface is only for Flash, not for PSRAM?external SRAM/SDRAM via the FMC? Could the M4 core occupy the FMC, while the A7 core using DDR?external SPI RAM, would be the slowest variant, but should be always possible.Is there an application note, showing how more then a MB RAM is added to the M4 core in an STM32MP15x?Best regards,Michael
Hi,We are using the meta-st-stm32mp layer in out Yocto build system. We have had the system run on the Dunfell distribution up until now with OPTEE as the secure OS.For Dunfell the version of OPTEE is 3.12 along with patches from ST, a we tried to upgrade to Kirkstone which uses OPTEE version 3.16. From what we see the secure storage is no longer compatible with the new version:We get errors like this when using the 3.16 version and the secure storage has been created with 3.12# optee_example_hello_world optee_example_hello_world: TEEC_Opensession failed with code 0xf0100001 origin 0x3We did another test with the official OpenST distribution on a DK2 board fist running Dunfell then upgrading to Kirkstone and we get the same results.We have asked upstream OP-TEE is there is an issue between the versions for backwards compatibility related to secure storage:https://github.com/OP-TEE/optee_os/issues/6296After this we went further and did a test with the upstream version of OP-TEE 3.12 and
Can not Flash STM32MP157FAD. with CubeProgrammer, and StarterPackage Image. First 2 files download ok, then get "Reconnecting the device...", and it never reconnects. And the MPU reset, with CubeProgrammer can download first 1 file. Windows11 drops the USB-DFU device. How to fix?
Good. I am trying to load the system to my stm32mp157c-dk2 using STM32CubeProgrammer software, but I get the same error when loading partition 13 every time. The error is as follows: Error: failed to download Segment[0] Error: failed to download the File Error: Download partition 0x13 failed Error: TSV flashing service failed Here's the whole process: magno@magno-Latitude-3380:~/Descargas/en.FLASH-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15/stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15/images/stm32mp1$ STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/trusted/FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv ------------------------------------------------------------------- STM32CubeProgrammer v2.14.0 ------------------------------------------------------------------- USB speed : High Speed (480MBit/s) Manuf. ID : STMicroelectronics Product ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000 SN : 002B001F343851053833
U-Boot 2020.01-stm32mp-r1 (Oct 07 2023 - 14:05:57 +0800)CPU: STM32MP157FAD Rev.ZModel: STMicroelectronics STM32MP157F eval daughterBoard: stm32mp1 in trusted mode (st,stm32mp157f-ed1)DRAM: 512 MiBClocks:- MPU : 800 MHz- MCU : 208.878 MHz- AXI : 266.500 MHz- PER : 24 MHz- DDR : 533 MHzWDT: Started with servicing (32s timeout)NAND: 0 MiBMMC: STM32 SD/MMC: 1In: serialOut: serialErr: serialinvalid MAC address in OTP 00:00:00:00:00:00Net:Error: ethernet@5800a000 address not set.No ethernet found.Hit any key to stop autoboot: 0Boot over usb0! ==================When the program runs here, the MPU restarts, and this happens again and again
Hello,We are designing a custom board with the "STM32MP157FAC1" MPU.Would it be possible to get the die to BGA package pin delays for the DDR3 and the EMMC interfaces ?The AN5122 seems to only have track lengths. Our PCB track layout has some constraints that prevent us from completely copying the reference design layout for DDR. Another post mentioned an Excel table but can't find it in the documentation page for the IC.Thank You.Aron.
Hello everyone,I would like to implement a basic spi communication with an sx1276 transceiver using CM4 as master in standalone mode in order to get the chip id. The spi5 configuration has been done using stm32cubeide which is the way i did it with another couple of mcus (stm32l476rg, stm32l432kc), and it has worked fine. Could anyone help me providing any advice with the following code or an example of a basic spi communication in that context (CM4 in standalone mode on STM32MP157A-DK1). What is wrong ? /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2023 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file
I have a system (built using yocto kirkstone) working with the bootchain TF-a -> sp_min -> uboot when loaded from the sdcard and from the emmcI have tried to boot into uboot by loading it directly into memory (as a precondition to the use it to flash the emmc) by following this guide: https://wiki.st.com/stm32mpu/wiki/How_to_load_U-Boot_with_STM32CubeProgrammerI have used the correct tf-a binary and it does manage to load SP_MIN (I get all the SP_MIN traces), but the boot just hangs afterwards.Does u-boot require some special compilation flag in order to be used in this manner?
Hello @everyoneI have a OSD32MP1-BRK mpu board. I want to test maximum gpio toggle speed. Currently i used libgpio and using this code i achieved 4.1 us (microsecond) between rising and falling edge of pulses.This is too slow as per our requirement. I need in nano second.I have attached waveform. In rpi getting approx 15ns.Thanks and regardsKundan Jha
Hi all,Our product uses an STM32MP153 processor, booting its first and second stage bootloaders (TF-A and uboot respectively) from QUADSPI NOR FLASH. It boots Linux from eMMC. The NOR FLASH we have been using are either IS25LP016D-JNLE or AT25SF161B-SSHB-B which are both 16Mbit.We are experimenting with using a larger 32Mb NOR FLASH due to customer request. We have built a batch of PCBAs with IS25LP032D-JNLE instead of the IS25LP016D.However on 4 out of 12 boards, we see the below:- Programming works ok, all stages are flashed onto the respective parts. stm32 cube programmer reports success- When rebooted after programming, the MP1 still boots in DFU mode.- Checked BOOT mode pins and they are set to 001, not 000, so its not the boot mode.- NORFLASH chip has been written to and read back correctly and program has been verified, so there is no data corruption- Re-ran stm32 cube programmer several times, and MP1 always reboots in DFU mode- We suspect that there is a timing
Hello, I've just migrated from V4.1.0 dev package to V5.0.0 and the LCD SPI ilitek 9486 does not work anymore.Configuration: STM32MP157A-DK1 with 3.5 LCD SPI touchscreen. Starter Package loaded with stm32mp157c-dk2 config. Linux kernel recompiled with ili9486 module and uploaded. Device tree file "stm32mp157c-dk2.dts" modified with spi5 added and display and uploaded.Please, how can I do to recover the LCD SPI that worked on previsous dev package?
Following this:https://wiki.st.com/stm32mpu/wiki/How_to_configure_U-Boot_for_your_board As the default config used stm32_defconfig.At the step make menuconfig disabled PMIC in device driver -> power and enabled regulator power .Though, this causes compile errors when building u-boot.Created a defconfig file for the board but not a new vendor-board folder assuming just to base the board as a variant of existing ST board. In other words using make stm32mp157a-board-mx_defconfig.In the config file :CONFIG_TARGET_ST_STM32MP15X=y Does this need to be set to "n" in case of using a board based on the STM32MP1 ?Is disabling PMIC in u-boot actually required to boot a discrete powered board ?
Hello We are using timer peripheral in STM32MP157 Cortex -A7 core 0 processor. In this, we enabled TIM2, TIM3, TIM4 in RCC APB1 peripheral enable for MPU set register, now we unable to use these timers (not getting interrupts) in Cortex -A7 core 0 processor. But we enabled these same timers in RCC APB1 peripheral enable for MCU set register, at this time getting interrupts in Cortex -A7 core 0 processor. So, any reason these timers (TIM2, TIM3, TIM4) enables in MCU set register to use in Cortex -A7 core 0 processor. remaining all peripherals are works with enables same MPU set register. regards srikanth
Hello, I currently working with a STM32MP157D-DK1 Development Board. I populated the board with a prebuild openstlinux 6.1 build. A SSH connection via console is successful.To get the M4 microcontroller running I was able to build a .elf file from the GPIO_EXTI example given by the STM32Cube_FW_MP1_V1.6.0. The .elf can be uploaded into the /boot/ directory via the scp command. By configuring Boot From an SD Card the M4 starts running an executes the just uploaded .elf file.In order to debug the software I want to use the STM32CubeIDE Debug Configuration 'thru Linux core (Production mode)'. Unfortunatly I'm not able to connect my board with the given Target status widget, which is necessary for a successful connection build up. When i try to connect my board via the "Connections" Window -> right click SSH setup -> "Open Connection", I get the following generic error: "Error opening connectionsSession.connect: java.net.ConnectException: Connection timed out: connect"
Same or related postshttps://community.st.com/t5/stm32-mpus-products/op-tee-error-on-new-v5-0-0-sdk/td-p/578239/page/2https://community.st.com/t5/stm32-mpus-products/op-tee-error-tzc-permission-failure-on-new-v5-0-0-sdk/m-p/584339Custom STM32MP157AAA3 board, 512MB. TF-A OP-TEE in SYSRAMTwo outcomes.[a] building u-boot with stm32mp1_trusted_defconfig : boot loops around (restart), does not even reach u-boot[b] building u-boot with stm32mp1_defconfig: dump_fail_filter:425 Violation @0xdfb19000, non-secure privileged write, AXI ID 480This area was firewalled in fw-config.dts based on the Wiki how to configure FW-CONF and also added as a reserved area in TF-A, OPTEE and u-boot DT, Though u-boot (or something else for that matter) tries to access this area ?Does this violation have anything to do witha. conf.mk in OP-TEE or the OP-TEE DT ? (memory reservation was added)b. FW-CONFIG DT? (Firewall for this region was added)c. U-BOOT DT?&nb
Hello everyone,I am trying to apply the hello world example from stm32MP1 workshop. everything works fine for me. However, when I try to run the application inside stm32mp1 it shows me this message. version `GLIBC_2.34' not found.I tried to install newer version of GLIBC but without any suncess.could you please tell what to do here.
Our board is using STM32MP15 and doesn't use PMIC, when we try poweroff command, it seems to work but after around 30 seconds, the board reset automatically.During this time, I see power consumption just goes down a little bit.Does anyone have same issue or something like this?
Hello,I was wondering how hard is to convert the simple OpenAMP_TTY_echo (I have it installing the STM32Cube_FW_MP1_V1.6.0 package from STMicroelectronics' web site) to a Makefile driven project.I need it so, because the firmware auto building of my BSP (partially based on buildroot, makerootfs and others shell based scritps).I have a custom board based on the STM32MP151AAA3 and STM32MP151CAA3.At the moment I am running a vanilla 6.1.55 Linux Kernel on top of Debian 11 Bullseye (11.7) with all needed stuff compiled in as static modules:CONFIG_REMOTEPROC=y CONFIG_REMOTEPROC_CDEV=y CONFIG_STM32_RPROC=y CONFIG_RPMSG_TTY=y CONFIG_RPMSG_CHAR=y CONFIG_RPMSG_CTRL=y CONFIG_ROMSG_VIRTIO=y CONFIG_RPMSG_NS=y CONFIG_STM32_IPCC=y In that case Linux, will show any remoteproc stuff under /sys (sysfs).In my device-tree there is everything (I think) set for CM4 execution code: reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; mcuram2: mcuram2@10000000 { com
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.