WATCH ON-DEMAND | STM32 Summit 2026
Ask questions and find answers on STM32 microprocessors, including hardware, power, DRAM, flashing, interfacing, device tree, and peripherals.
Most recent activity
Hi,I am working on STM32MP133FAFx . I have integrated PMIC and getting 1.35V voltage to DDR. I am using bare-metal environment without OSAlso configured required registers for DDR with below values for my hardware,DDR_MSTR 0x00040401DDR_MRCTRL0 0x00000010DDR_MRCTRL1 0x00000000DDR_DERATEEN 0x00000000DDR_DERATEINT 0x00800000DDR_PWRCTL 0x00000000DDR_PWRTMG 0x00400010DDR_HWLPCTL 0x00000000DDR_RFSHCTL0 0x00210000DDR_RFSHCTL3 0x00000000DDR_RFSHTMG 0x0075007DDDR_CRCPARCTL0 0x00000000DDR_DRAMTMG0 0x12182012DDR_DRAMTMG1 0x000A041ADDR_DRAMTMG2 0x0608090FDDR_DRAMTMG3 0x0050400CDDR_DRAMTMG4 0x08040508DDR_DRAMTMG5 0x05050403DDR_DRAMTMG6 0x02020002DDR_DRAMTMG7 0x00000202DDR_DRAMTMG8 0x00001005DDR_DRAMTMG14 0x000000A0DDR_ZQCTL0 0xC2000040DDR_DFITMG0 0x02060105DDR_DFITMG1 0x00000202DDR_DFILPCFG0 0x07000000DDR_DFIUPD0 0xC0400003DDR_DFIUPD1 0x00000000DDR_DFIUPD2 0x00000000DDR_DFIPHYMSTR 0x00000000DDR_ADDRMAP1 0x00080808DDR_ADDRMAP2 0x00000000DDR_ADDRMAP3 0x00000000DDR_ADDRMAP4 0x00001F1FDDR_A
please explain the steps on how to boot the image in sd card for stm32mp157d-dk1 and also which os should i need to use for programming
Hello I got succeed wlan0 connect to my phone just yesterdayPing 8.8.8.8 was worked and etc ok(without booting make 1m30s timeout)But today it is not working at all with just doing same beforeAfter enable and start wireless config with systemctl enable wpa_supplicant@wlan0.service systemctl restart systemd-networkd.servicesystemctl restart wpa_supplicant@wlan0.serviceOr wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.confThe error log is repeating on my console... What should i check? Thanks
I created a qt quick app onqt version 6.7.3 for the stm32mp157f-disco. I was able to test using qt creator and boot 2 qt on the target board and it worked just fine. Now, I'm in process of building the linux image for the target. Since I don't fully understand how to use yocto, and it seems there's no support from st side for qt on stm32mp15, I decided to go the other path, using the boot 2 qt. I created a custom recipe with my qt app and was able to bitbake this recipe. Now, I'm trying to build the entire image but I'm getting the following error: | cd /home/vboxuser/yocto/build-stm32mp15-disco/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/qtwebengine/6.7.3/build/src/core && /home/vboxuser/yocto/build-stm32mp15-disco/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/qtwebengine/6.7.3/recipe-sysroot-native/usr/bin/ninja -C /home/vboxuser/yocto/build-stm32mp15-disco/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/qtwebengine/6.7.3/build/src/
I'm following the starter and distribution package for the stm32mp157f-dk2.A few weeks ago I was able to flash my target board with the starter package and can confirm it initialized the st gui and so on.I also added the usb gadget in my vm as stated on another post.Now, I'm trying to flash the st-image from the distribution package but its not able to reconnect.\I'm using an iphone quick charge that outputs 5v 3A and it worked for the starter package. I tried with another power supply just to confirm that's not the issue and I got the error in st-link. Which means my iphone quick charge is ok ***************** * ERROR USB TYPE-C connection in unattached mode * * Check that USB TYPE-C cable is correctly plugged * * Current too low, use a 3A power supply! * ****************** These are the logs from cubeprogrammer: vboxuser@ubuntu:~/stm-envirionment/Distribution-Package/build-openstlinuxweston-stm32mp15-disco/tmp-glibc/deploy/images/stm32mp15-disco$ STM32_Programmer
I'm unable to set the clock frequency above 650Mhz, but according to the datasheet, the mpu i selected should be able to reach 1000mhz. What am I doing wrong?
Hello Community, we're trying to debug an STM32 image (kernel-version V6.1.28) on the M4 core using STLINK-V3SET debugger via STM32CubeIDE (V1.16.0) and getting the following error: Error in final launch sequence: Failed pre launch (s. attached screenshot). The directory /lib/firmware has space and is writeable. Does anyone have an idea what the problem is? The content of our local.conf: MACHINE ??= 'txmp-1571'DL_DIR ?= "${BSPDIR}/downloads"SSTATE_DIR ?= "${BSPDIR}/sstate-cache"DISTRO ?= 'karo-wayland'DISTRO_FEATURES:append = " alternatives-symlinks-relative"PACKAGE_CLASSES ?= "package_rpm"EXTRA_IMAGE_FEATURES ?= "debug-tweaks"USER_CLASSES ?= "buildstats"PATCHRESOLVE = "noop"BB_DISKMON_DIRS ??= "\STOPTASKS,${TMPDIR},1G,100K \STOPTASKS,${DL_DIR},1G,100K \STOPTASKS,${SSTATE_DIR},1G,100K \STOPTASKS,/tmp,100M,100K \HALT,${TMPDIR},100M,1K \HALT,${DL_DIR},100M,1K \HALT,${SSTATE_DIR},100M,1K \HALT,/tmp,10M,1K"SSTATE_MIRRORS ?= "\file://.* http://sstate.karo-electronics.de/PATH;downloadfilenam
Hello!If I run the openAMP example I can see the two new devices appear in the linux /dev folder: ttyRPMSG0 and ttyRPMSG1, so that's fine!I would like to give these entries another name, like instead ofttyRPMSG0 --> KEYSttyRPMSG1 --> FRAMQuestion 1: Can I "force" Linux somehow to use specific custom names that I supply via the M4 while creating an endpoint or does Linux name them always in its own way ("like ttyRPMSGxyz")?I tried to use the parameter "name" of the function "rpmsg_create_ept()" but another value than the default "rpms-tty" leads to the strange effect, that the channel is created with the new name (checked with "dmesg") but in the /dev folder the device does not appear at all anymore. It only appears, if the default name "rpmsg-tty" is kept.Question 2: Why does the device no longer appear in the /dev folder, if I give parameter "name" another value than "rpmsg-tty"?
Hello, We are evaluating the X-STM32MP-GNSS1 eval board on STM32MP-157F-DK2.The X-STM32MP-GNSS1 has Teseo-LIV3F GPS receiver on it, which does not support NAVIC.Since we want to test receiving signals from NAVIC specifically, can we replace the Teseo-Liv3F chip on X-STM32MP-GNSS1 with Teseo-Liv4F chip? (The pinouts of Liv-3F and Liv4F differ only for reserved pins ( Pin 13 (Ant off), Pin 18(Prg) and Pin 7 (Vcc_IO)
EDIT: Sorry I accidentally put this in the wrong topic.Hi,I am trying to bring up a board using a STM32MP135 and 256MB RAM (using one of these). I have followed the Wiki instructions to modify for 256MB RAM, and the project previously worked fine. Then I left it for maybe six months and come back to find the memory mapping has changed and now I am getting TZC errors right at "Starting Kernel ...".I'm using Buildroot with TF-A v2.8-stm32mp-r2, Optee-OS 3.19.0-stm32mp-r2, U-Boot v2022.10-stm32mp-r2, and Linux v6.1-stm32mp-r2. Full Buildroot tree.I have tried modifying CFG_TZDRAM_START in Optee, DDR_NS_, and, DDR_SEC_ properties in TF-A and I can generate even more memory errors, but this is as far as I can get. Can anybody point me in the right direction, or suggest some things to try? What happens right at "Starting Kernel"? As far as I know, U-Boot must be trying to put the Linux kernel in to protected memory but I cannot figure out why or where that is specified?Thanks for a
I'm working with the STM32MP131FAE in a bare-metal environment, and I'm experiencing issues with QuadSPI.I want to use Quad SPI to send 96 bytes of data continuously without any clock interruptions.However, currently, the data is being sent in chunks, with breaks every 4 bytes.Is there a way to resolve this issue?From top to bottom, the signals are CLK, Data1~3.Below is my QuadSPI configuration: sCommand.Instruction = 0; sCommand.InstructionMode = XSPI_INSTRUCTION_NONE; sCommand.AddressMode = XSPI_ADDRESS_NONE; sCommand.AddressWidth = XSPI_ADDRESS_24_BITS; sCommand.Address = 0; sCommand.AlternateByteMode = XSPI_ALT_BYTES_NONE; sCommand.DTRMode = XSPI_DTR_MODE_DISABLE; sCommand.DelayHoldHalfCycle = XSPI_DHHC_ANALOG_DELAY; sCommand.SIOOMode = XSPI_SIOO_INST_EVERY_CMD; sCommand.DataMode = XSPI_DATA_4_LINES; sCommand.DataLength = 96; sCommand.DummyCycles = 0; sCommand.IOSelect = HAL_XSPI_
Hi,I am trying to boot a signed TF-A image on my STM32m257f compiled with TRUSTED_BOARD_BOOT support (Compiled in f-a-stm32mp.inc recipe from meta-st-stm32mp, mickledore branche).When the board is powered up, i got this error: NOTICE: CPU: STM32MP257FAI Rev.B NOTICE: Model: STMicroelectronics STM32MP257F-EV1 Evaluation Board NOTICE: Board: MB1936 Var1.0 Rev.C-01 NOTICE: BL2: v2.8-stm32mp2-r2.0(release):lts-v2.8.15-dirty(567af710) NOTICE: BL2: Built : 00:51:33, Jan 26 2024 NOTICE: TRUSTED_BOARD_BOOT support enabled ERROR: BL2: Failed to load image id 1 (-80) I've already fuse my PKHTH with the stm32key command and my binary is signed with the right key. The board boots normally when I install a TF-A binary without TRUSTED_BOARD_BOOT support.Do you have any idea please?Thanks
I'm trying to build a linux image for this target. I had successfully(after a lot of trial & error) flashed the target with the Starter package.For some strange reasons when doing the distribution package, I had to reinstall my VM and now I'm trying again this process. This is the data before downloadingThe problem is that the download process fails at this stage:It happens the same with the distribution package with an image I already built I can confirm the "usb gadget" is forwarded to the VM. Thanks a lot in advance :)
Hi there ST team! I'm asking because I'm lost in all this process.I have a QT quick app developer in QT Creator. I've already followed a tutorial from QT and I was able to flash the app in the STM32MP157F-dk2 using QT Creator.Now, I want my target board to run an embedded Linux image, and the QT quick app to run in the user space of this distro.I already installed the STM32MPU Starter package and can confirm the target runs the demo app as expected.After this, I don't know how to continue. If I understand correctly, I need to:1. install the STM32MPU developer package from https://wiki.st.com/stm32mpu/wiki/STM32MPU_Developer_Package#Checking_the_prerequisites2. follow step 7.2 "Adding Linux user space application" from: https://wiki.st.com/stm32mpu/wiki/How_to_cross-compile_with_the_Developer_Package#Adding_a_.22hello_world.22_user_space_example The problem is that step 7.2 mentions some folder that I don't know where it came fromcd <tag>/sources/<arm architecture>-<
Hi there STM team!I need to build a embedded Linux image for a STM32MP15 target. My application has a QT GUI already implemented. What is the best approach to create this image? I know OpenSTLinux exist but I don't fully understand what's the advantage, compared to doing everything from scrath in yocto. Thanks a lot in advance
Hi all,I'm trying to enable the host functionalities for USB Port1 for MP135: I imported the Host Library and implemented some functions on usbh_conf.c file. Attached to the DK board I have a optic mouse.After some basic initialization I'm in the USBH_LL_Start() function and I have the following debug outputs:Before USBCMD, USB_STS, USBINTR, PORTSC1 set:USBH_LL_Start usbcmd: 0x00080B00; usbsts: 0x00001000PORTSC1: x00002000usbINTR enbl: 0x00000007;Set the Run/Stop bit and wait for !HC_HALTED:usbcmd: 0x00080B01; usbsts: 0x00000000try 0: status 0x00000000usbcmd: 0x00080B01; usbsts: 0x00000000PORTSC1: x00002000Set the PORTPOWER bit for PORTSC1:PORTSC1: x00003000Set CONFIGFLAG_FLAG:usbcmd: 0x00080B01; usbsts: 0x00000004F PORTSC1: x00001803usbINTR enbl: 0x00000007;PORTSC1 set Reset + delayPORTSC1: x00001101POSTSC1 reset Reset ..PORTSC1: x00001101.. wait ..PORTSC1: x00001005 --> Port Enabled + Device present !usbcmd: 0x00080B01; usbsts: 0x00000004 --> Port change DetectIn my undestandin
after following the bellow steps and in build-<distro>-<machine>/tmp-glibc/deploy/images/<machine> directoryi cant find the file system image(FlashLayout_sdcard_stm32mp157d-dk1-optee.tsv) in this directory as i am using stm32mp157d-dk1 and it contains for (FlashLayout_sdcard_stm32mp157f-dk2-optee.tsv).can i use FlashLayout_sdcard_stm32mp157f-dk2-optee.tsv to flash my stm32mp157d-dk1 1.cd <working directory path>/Distribution-Package2.repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-6.1-yocto-mickledore-mpu-v24.06.263.repo sync4. DISTRO=openstlinux-weston MACHINE=stm32mp15-disco source layers/meta-st/scripts/envsetup.sh5.bitbake st-image-weston6.bitbake st-image-weston -c populate_sdk7. cd <Distribution Package installation directory>8.git clone -b v1.0.0 https://github.com/STMicroelectronics/meta-st-x-linux-qt.git layers/meta-st/meta-st-x-linux-qt9. git clone -b scarthgap https://github.com/meta-qt5/met
The following output seems to be the default: root@stm32mp2:~# cat /sys/class/remoteproc/remoteproc0/fw_format TEE However, for debugging purposes, I would like to turn off firmware verification, and make the remoteproc driver accept plain ELF files. How can this be accomplished?
Hi,I am building my STMP157 board using the reference of "STMP15X-SOM" of Olimex. In that the RAM used is K4B4G1646D-BYK0, but I am unable to find the part number in online store. Can you please help me in finding the different RAM which can be used instead of it.If I am changing the RAM what are the changes needed to be done in the U-boot file to run the processor.
Hello. I am trying to get a custom design using STM32MP135F to boot.Unlike the DK, it does not use I2C busses, and I2C is not listed in the DTS files as created by STM32CubeMX.I follow the wiki "How to compile the device tree with developer package" .When I run the make command, I get error messages:i2c4_pins_a not foundalso errors about sdmmc2 pins, which is also not used nor mentioned in the dts.Is there somewhere a dts coupling that I am missing?Thanks for helping.Jan
I'm trying to install the distribution package but I'm at the point of the proxy issues and I don't know what to do. sudo apt-get update sudo apt-get install corkscrew git config --replace-all --global core.gitproxy "$HOME/bin/git-proxy.sh" git config --add --global core.gitproxy "none for <MyPrivateNetworkDomain>" (optional, for example .st.com or localhost) echo 'exec corkscrew <MyProxyServerUrl> <MyProxyPort> $* $HOME/.git-proxy.auth' > $HOME/bin/git-proxy.sh chmod 700 $HOME/bin/git-proxy.sh echo '<MyProxyLogin>:<MyProxyPassword>' > $HOME/.git-proxy.auth chmod 600 $HOME/.git-proxy.auth Use the command below to test the proxy settings: git ls-remote git://git.openembedded.org/openembedded-core > /dev/null && echo OK || echo KO I have absolutely zero idea of the proxy settings my VM. How can I move pass this step?Also, after those steps it sends me to https://source.android.com/docs/setup/download#installing-repo
Hello,I am developing on the STM32MP131FAE board in a bare-metal environment.This chip does not have internal Flash, so I am planning to load a bin file from external Flash at initial boot.The Flash will store two bootloaders and two main firmware images.I understand that when the boot mode pin is set to Flash boot, the ROM code reads data from the external Flash and copies it to the sysram. I have confirmed that it successfully runs bootloader 1 stored in the external Flash.The reason for splitting the bootloader into two parts is due to the sysram size, which is only 128KB. Since the bootloader is expected to exceed 128KB, I plan to execute bootloader 1 first and then jump to bootloader 2. question:What is the maximum size that the ROM code can read from the external Flash? If I can reduce the bootloader to within 128KB, I plan to combine it into a single file, but I have not been able to find information on the maximum number of bytes that the ROM code can read.
I have a small micro that needs to run before the MP157 is active. The voltage coming gin is 5V, but I need 3.3V. Is there an always-on LDO in the STPMIC1 for such purpose? I assume the internal LDO is not te be used?Do I need to program the voltage of the LDO or is it set by default to 3.3VRegards
Is there a way to build only optee, etc. up to the level of u-boot?It would help to ease board bringup, checking the dts effects, do some basic testing. Regards,Roland
Hi all,I'd like to move the USB HID/CDC function, implemented in the Ux_Host_HID_CDC_ACM sample, from TypeC OTG port to USB host port.Does it make sense?I started to create a usb_host.c based on usb_otg.c, changing the OTG into the USB Port1 references.But I don't know how to enable the VUSB voltages on the USB connectors: the enables seems to be under control of the USB hub on the DK board.Do I need to send commands via the i2c5 bus?Which commands? Thanks! -- ADDED --Looking better the schematics I note that the resistors connected with the I2C pins are not inserted, so it is impossible communicate with the USB hub chip.So, why the VBUSs on the USB TypeA sockets are not enabled (and then they not feed any USB devices ..) ?? -- ADDED 2 --Why the GPIO PortB Pin2 is set as original implementation of USBH_DriverVBUS() ?? -- ADDED 3 --Definitively I'm not able to point to USB Host port.My guess is that the USB hub is sleeping/disabled cause a configuration error of the
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.