Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors, including hardware, power, DRAM, flashing, interfacing, device tree, and peripherals.
Most recent activity
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
i am using stm32mp157d-dk1 and i am using virtual box and i want to make a gui using c++which application should i use so that i can access the adc and dac in linux.using arm cotrex a7 can i access/control the adc and dac. for example when I click a button it has to generate sine waves and it has to be written to dac
I'm buildning my own computer by using STM32MP151AAC3.I'm going to draw lines for the HDMI connector. I have one question: Can I transfer sound via the HDMI cable? For example if I run OpenSTLinux onto the STM32MP151AAC3 processor, and then I connect the HDMI cable and I can see the screen. Will I be able to hear sound too if I surf into Youtube?
Hi all,I'm writing a USB composite device support (baremetal) for MP135: it must support a custom interface and a CDC profile. Now I'm testing the CDC side connecting the USB cable with a PC: Windows mounts correctly a virtual serial port and I open a Putty serial session.The board handles the USB data as input for a simple terminal.This is what happen inserting a breakpoint on HAL_PCD_IRQHandler function (Drivers/STM32MP13xx_HAL_Driver/src/stm32mp13xx_hal_pcd.c):- initially (after the port setup) nothing breaks- on the first keypress on the Putty terminal the breakpoint breaks twice: the first with USB_OTG_GRXSTSP_PKTSTS = 2 (packet received) so read by USB_ReadPacket() - the second one with PKTSTS = 3 (transfer complete) so do nothing.- the data read fires my callback that handles the received key generating an echo back to the terminal- the interrupt is no more fired- on the second key press the interrupt is fired but it does not contain the RXFLVL bit (USB_OTG_GINTSTS = 0x44888428)
Hi,I am working on STM32MP133FAFx (I2C Master) for I2C communication with STPMIC1 IC (I2C slave) fast mode(400KHz) and HSI clock(64MHz). I2C->TIMINGR = 0x00C0216CFor writing data TXIS flag is getting send and I am writing the register but when trying to read data back from PMIC RXNE flag is not getting set and RXDR register is not showing data.Configuration for reading & writing data is done as per the example code provided by STi.e. used HAL_I2C_Mem_Read() & HAL_I2C_Mem_Write() functions for 1 byte data transfer. Please help me how to resolve this issue and provide me the solution.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.