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
Hello everyone, i'm starting a baremetal project on a MP135 and i'm facing a issue when I tried to configure ThreadX.I've already saw the issue in another post :https://community.st.com/t5/stm32-mpus-embedded-software/creat-a-simple-bare-metal-azurertos-based-on-stm32mp135f-dk-get/td-p/614564But when I add the following code in the linker : .stack : { _stack_bottom = ABSOLUTE(.) ; /* Allocate room for stack. This must be big enough for the IRQ, FIQ, and SYS stack if nested interrupts are enabled.*/ . = ALIGN(8) ; . += 32768 ; _sp = . - 16 ; _stack_top = ABSOLUTE(.) ; } >RAM _end = .; I get another error :/opt/st/stm32cubeide_1.15.1/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.linux64_1.0.100.202403111256/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld: emap_bareos_Application.elf section `.stack' will not fit in region `SYSRAM_BASE'/opt/st/stm32cubeide_1.15.1/plugins/com.st.stm32cube.ide.mcu.externaltoo
Hello, I am developing a custom image using the layer meta-st-stm32mp in the mickledore branch, until that point, there are no problems.The problem is, since I want ti install the meta-st-x-linux-ai layer, I need to install meta-st-openstlinux first, which has several layer dependencies such as meta-qt5, and other layers. The problem I am having is, once I add the meta-st-openstlinux, the process stops, it does not even initiallizes the tasks, because the parsing process does not succeed.This is the local.conf (I did not add the recipes because I thought maybe some of my recipes did generate the problem): # This file is your local configuration file and is where all local user settings # are placed. The comments in this file give some guide to the options a new user # to the system might want to change but pretty much any configuration option can # be set in this file. More adventurous users can look at # local.conf.sample.extended which contains other examples
Hi,I'm using STM32MP153C and I would like to communicate between the A7 and the M4 using the Virtual Uart (OPENAMP and IPCC).I'm using a custom distribution created using Yocto.When I initialize the virtual uart in the M4, /dev/ttyRPMSG0 is instantiated in the A7.[ 142.543903] remoteproc remoteproc0: powering up m4[ 142.649727] remoteproc remoteproc0: Booting fw image DHCOR_MBM_GEN_3_v4.1_CM4.elf, size 3518900[ 142.661217] remoteproc0#vdev0buffer: assigned reserved memory node vdev0buffer@10042000[ 142.669330] remoteproc0#vdev0buffer: registered virtio0 (type 7)[ 142.674309] remoteproc remoteproc0: remote processor m4 is now up[ 142.722658] virtio_rpmsg_bus virtio0: rpmsg host is online[ 148.575929] virtio_rpmsg_bus virtio0: creating channel rpmsg-tty-channel addr 0x400[ 149.074414] virtio_rpmsg_bus virtio0: creating channel rpmsg-sdb-channel addr 0x401But when I use this command:stty -onlcr -echo -F /dev/ttyRPMSG0linux returns:[ 3
Hello,Would it be possible to have an updated guide on how to use a custom device tree within my own layer for STM32MP1 Ecosystem 5.1.0?The one provided here "How to compile the device tree with the Distribution package" is clearly outdated, as the Yocto delivery mentionned in the exemple is Kirkstone (should be now Mickledore) and the step : Replace STM32MP_MX_BASE by STM32MP_MY_DEMO_BASEIs impossible to do, as the variable STM32MP_MX_BASE does not exist in 5.1.0 machine configurations.In the meanwhile, any ideas of how to implement this solution for release 5.1.0? I'm currently using this solution "How to create your own machine" in the wiki, but that is not the way I would like to work in the long term.
Hello,Would it be possible to have an updated guide on how to use a custom device tree within my own layer for STM32MP1 Ecosystem 5.1.0?The one provided here https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Distribution_Package#Associate_EULA_with_the_new_demo_machine is clearly outdated, as the Yocto delivery mentionned in the exemple is Kirkstone (should be now Mickledore) and the step : Replace STM32MP_MX_BASE by STM32MP_MY_DEMO_BASEIs impossible to do, as the variable STM32MP_MX_BASE does not exist in 5.1.0 machine configurations.In the meanwhile, any ideas of how to implement this solution for release 5.1.0? I'm currently using this solution https://wiki.st.com/stm32mpu/wiki/How_to_create_your_own_machine but that is not the way I would like to work in the long term.
Hi,I wrote a program to toggle GPIO PD13 on the STM32MP157D-DK1 using STM32CubeIDE. I set the Boot pins on the STM32MP157D-DK1 board to Engineering mode and can start a debug session but it seems like the M4 does not toggle GPIO PD13 at all. Its like its not starting or working.Below is a snippet of my code: Please assist me with this issue?
Hello, I have stm32mp135f-DK board also gc2145 camera which works perfectly finebut when ı connect Raspberry pi camera module v2it does not appear with v4l2-ctl --list-devices So I wonder is it possible to use that camera with modifying linux kernel device tree etc or is it's just impossible ?
Hi @STTwo-32 ,can i use STM32MP157F-DK2 for Lora gateway, and i have found this link How to integrate LoRaWAN gateway - stm32mpu-ecosystem-v3, have anyone succeeded setting up LoRa gateway using STM32MP157F-DK2 or is there any other MPU used for LoRa gateway.Best Regards.Nasi
Hello STM Community,I am considering using the STM32MP157F-DK2 as a platform for a LoRa gateway and am curious to know if anyone here has experience with this setup. Specifically, I am interested in integrating the following features and would appreciate any insights or advice:Wireless Connectivity:Wi-FiBluetooth Low Energy (BLE)GSMCloud Integration:Azure IoT EdgeLoRa Communication:LoRa Basic ModemSupport for AU915 MHz and IN865 MHz bandsSX1302/03 transceiverSecurity and Logging:IoT DefenderSD card loggingInterfaces:SPIUARTI have seen some congratulatory notes about LoRa gateways in the community and would like to know if anyone has specifically used the STM32MP157F-DK2 for such a project. Additionally, I am seeking support for potential blockages during the setup process.For more information, here is a configuration setup link I found: How to integrate LoRaWAN gateway.If anyone has implemented similar features on a LoRa gateway using this development kit, I would greatly appreci
Hello,Is it possible to drive two independent LCD screens from one e.g. STM32MP157? I know it has LTDC controller and also is having MIPI® DSI but I was wondering if it can run them together (no overlapping pins)?I want to make a product that will have one display (non touch), maybe for video output 720p - non touch; and one smaller screen 480p with touch to serve as digital buttons.
Interrupt Frequency Limit of M4 core and A7 core,where can i find its infomation? and is there some Testing Method?
Hi,We are using the STM32MP157CAA3 SoC in our design and are having some Ethernet issues:As we had problems sourcing the Realtek PHY from the reference design we use the microchip LAN8830T-V/PSA Ethernet PHY which should support Gigabit Ethernet.When setting booting the device and connecting an Ethernet cable we observe the following issue:1. With 10 MBit or router, the device probes and from both U-boot and Linux we can do dhcp request. But we never get an answer (no IP etc). 2. With 100 MBit or 1000 MBit speed, the linux kernel throws a panic after some time related to DMA (sometimes also the probing fails for the DMA engine).Both paths never show any data coming through the Ethernet port: (DCHP requests seem to be unanswered (don't arrive on server side) and ping also doesn't arrive. LED's remain stale (green = constant ON, orange LED = off). Bootlog during success:root@board:~# dmesg | grep eth[ 0.000000] psci: probing for conduit method from DT.[ 0.269703] usb
I am using OSTL 4.1.1 and build DISTRO=openstlinux-weston MACHINE=stm32mp15-disco. I am using STM32MP157F-DK2. Found that rpmsg_tty build as dyanamic module. I have loaded rpmsg_tty.ko with modprobe but found that node entries are not getting created in /dev
Dear,Some images are not shown on STM32 MPU OP-TEE overview and STM32MP15 OP-TEE overview.Thanks!
Hi st friends: stm32mp135f-dk bord use pmic STPMIC1D, but it is too expensive than STPMIC1A.can i replace STPMIC1D with STPMIC1A
I am using Baremetal.On my custom board, I successfully loaded the driver for the OTG USB device as a printer. When it succeeded, the code size was small, so I worked on it as a test in the SYSRAM base without any issues (I did not use USBX).However, as the code size increased, I needed to use DDR RAM. After executing the DEMO DDR INIT code, the previously successful code no longer proceeds at the following part.In the PCD INIT function, for (i = 0U; i < hpcd->Init.dev_endpoints; i++){/* Init ep structure */hpcd->IN_ep[i].is_in = 1U;hpcd->IN_ep[i].num = i;hpcd->IN_ep[i].tx_fifo_num = i;/* Control until ep is activated */hpcd->IN_ep[i].type = EP_TYPE_CTRL;hpcd->IN_ep[i].maxpacket = 0U;hpcd->IN_ep[i].xfer_buff = 0U;hpcd->IN_ep[i].xfer_len = 0U;}it does not exit the for loop and keeps running continuously. Please explain why this issue occurs.
Hello, I have the STM32MP157-DK2 board and the GNSS2 eval board (w/Taoglas antenna) and I am trying to follow UM2909 (getting started). It seems the ST Wiki is updated past the UM2909. For example in 3.3 titled “Downloading the kernel sources (developer package)” the link the kernel sources (titled “Modify, rebuild and reload the Linux kernel” goes to a wiki page that is labeled NRND. If I start the wiki from scratch, I go to a different wiki page: https://wiki.st.com/stm32mpu/wiki/STM32MP157x-DKx_-_software_distributions The instructions on this page (going to the Yocto build) are not complete or they are different. Any help/suggestions are appreciated. If it makes sense to follow the NRND pages, I can do that - but my Linux is not as strong as I would like. I am willing to start from scratch if necessary as well but if there are any insights out there I do appreciate the help. Thank you.
Hello,I use a stm32mp135f-dk and would like to develop a Gui with gtk and also use the hardware (Uart, gpio's, etc.).I went through the “get started” https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP135x-DK in advance.When I wanted to create a new project with CubeIDE, the HAL drivers for the board are not loaded.When creating a project from an STM32MP157, the HAL drivers are loaded https://wiki.st.com/stm32mpu/wiki/How_to_debug_a_user_space_application_with_STM32CubeIDE/User_space_GTK_library_project What do I have to do to get the HAL drivers into the project and how do I flash them onto the STM32MP135x-DK?
Hello all,I'm trying to cross-compile with Developer Package,My main source was this link: https://wiki.st.com/stm32mpu/wiki/STM32MPU_Developer_PackageCurrently, above link directed me to this one:https://wiki.st.com/stm32mpu/wiki/How_to_cross-compile_with_the_Developer_PackageBut there is a problem in the instructions described in second link. I can display my menuconfig when I type make menuconfig in my Linux kernel directory, and I can go into Device Drivers - Generic Driver Options. However, "Size in Megabytes" is not visible in my Generic Driver Options, contrary to description below:Can you help me with that?Thanks.
Hi, I usb buildroot(branch: st/2023.02.2) to buid my system.I want to know how to configure to enable secure boot.if i just enable TRUSTED_BOARD_BOOT=1MBEDTLS_DIR=$(MBEDTLS_DIR)then compile error as follow make[2]: *** No rule to make target '/home/gary/test/stm32mp15/buildroot/output/build/mbedtls-2.28.2/library/aes.c', needed by '/home/gary/test/stm32mp15/buildroot/output/build/arm-trusted-firmware-hgs_test/build/stm32mp1/release/libmbedtls/aes.o'. Stop.make[2]: *** Waiting for unfinished jobs....package/pkg-generic.mk:290: recipe for target '/home/gary/test/stm32mp15/buildroot/output/build/arm-trusted-firmware-hgs_test/.stamp_built' failedmake[1]: *** [/home/gary/test/stm32mp15/buildroot/output/build/arm-trusted-firmware-hgs_test/.stamp_built] Error 2Makefile:82: recipe for target '_all' failedmake: *** [_all] Error 2
The issue I am having is BKPSRAM is not retaining the information I write to it after a power cycle. I can read and write to BKPSRAM after I set it to non-secure in optee, removed the power features in pwr_regulator, and I enabled the CLK bit. I have followed the apps notes on page 440 of the reference manual, and the backup regulator is enabled. Every time I boot it up it reads back 0x00003000, instead of what was written to it. I am trying to ultimately store a 4KB struct that needs to be non-volatile. An FAE already mentioned trying to look through TF-A source code, but I cannot find any place that would clear the BKPSRAM, I only see clk configuration when I search through it, nothing to actual do with the BKPSRAM memory itself.I am using a custom board, I have OpenSTLinux configured for this custom machine and I am using st-image-core.Thank you very much for your time.
Hello,I am trying to use I2C2 peripheral with DMA2 streams 2 (Tx) and 3 (Rx). I am also using OpenAMP to communicate with A7 core, which runs Linux.A short time after launch, a Hard Fault is triggered. I noticed this only happens when DMAs are initialized as well as OpenAMP. If I comment out one (either DMA or OpenAMP), the code works fine.Any idea why this would happen ? I suppose this might be caused by some kind of memory conflictThank you.
We got the STM32MP157F-EV1 and struggle a bit with the understanding of OTPs. We cloned the STM32PRGFW-UTIL repository [1], put the dip switches into "forced USB boot for flashing" mode (all off) and uploaded the provided image: STM32PRGFW-UTIL\Projects\STM32MP15xx\Binary> stm32_programmer_cli -c port=usb1 -w .\FlashLayout_STM32PRGFW_UTIL.tsv That works great and we can query a register like this: stm32_programmer_cli -c port=usb1 -otp displ word=93 We then tried writing to it: > stm32_programmer_cli -c port=usb1 -otp write word=93 value=0xF0 and querying again shows the correct value: | Data93 : 0x000000F0 | Status93 : 0x00000000 We tried writing a second time with a similar value > stm32_programmer_cli -c port=usb1 -otp write word=93 value=0xF1 and the value changed as expected: | Data93 : 0x000000F1 | Status93 : 0x00000000 Then we wrote 0xF0, 0xF1 and 0x01 again just to see what happens. The Register still rea
Hello,I'm ustin stm32MP135F-DK and try to modify device tree Menuconfig or how to configure kernel - stm32mpuin this link I came to make ARCH=arm uImage LOADADDR=<loadaddr of kernel>And ı getting this error how can ı solve itCALL scripts/checksyscalls.shCC drivers/usb/dwc3/dwc3-stm32.odrivers/usb/dwc3/dwc3-stm32.c: In function ‘stm32_dwc3_init’:drivers/usb/dwc3/dwc3-stm32.c:73:35: error: implicit declaration of function ‘FIELD_PREP’ [-Werror=implicit-function-declaration]73 | FIELD_PREP(SYSCFG_USB3DRCR_HOST_PORT_POWER_CONTROL_PRESENT_MASK,| ^~~~~~~~~~cc1: some warnings being treated as errorsmake[4]: *** [scripts/Makefile.build:250: drivers/usb/dwc3/dwc3-stm32.o] Error 1make[3]: *** [scripts/Makefile.build:500: drivers/usb/dwc3] Error 2make[2]: *** [scripts/Makefile.build:500: drivers/usb] Error 2make[1]: *** [scripts/Makefile.build:500: drivers] Error 2make: *** [Makefile:2035: .] Error 2
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.