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
..
We have a custom design on STM32MP157 doesn't use PMIC.We have custom uboot that run STM32MP157F-DK2 which has PMIC enabled.We tried to set [=n] on some CONFIG_*** related to PMIC but when build it cause errorsDoes anyone have hints how to bypass PMIC?
Hi there, I'm following all the steps described in Distribution-package to compile the yocto build for STM32MP157F-DK2 (stm32mp1). And at the beginning of the compilation (bitbake st-image-weston) I am getting the message : .....openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15/layers/meta-st/meta-st-openstlinux/recipes-st/images/st-image-resize-initrd.bb: ENABLE_PARTITIONS_IMAGE not enabled is it a problem? Did I miss something? Thanks Simone
Hi experts and community!(Still on DISTRO_VERSION = "3.1.11-snapshot-20221108")Following the instructions https://wiki.stmicroelectronics.cn/stm32mpu/wiki/How_to_create_your_own_machineI tried to create a custom machine.mx└── stm32mp1-custom ├── kernel │ └── stm32mp1-custom.dts ├── optee-os ├── tf-a │ ├── stm32mp15-ddr-512m-fw-config.dts │ ├── stm32mp1-custom.dts │ └── stm32mp1-custom-fw-config.dts └── u-boot ├── stm32mp1-custom.dts └── stm32mp1-custom-u-boot.dtsFor the first "simple" test, I took the dts files for the stm32mp157f-dk2 board (and not from CubeMX).The MACHINE configuration looks like this:#@TYPE: Machine #@NAME: stm32mp15-custom #@DESCRIPTION: Configuration for STM32CubeMX generated project #@NEEDED_BSPLAYERS: layers/meta-openembedded/meta-oe layers/meta-openembedded/meta-python ########################################################################### # # Default machine configuration sections # ################################
Hi, Can we use a DDR3L from Winbond with part number W634GU6NB-11 (Speed bin 1866) with STMPU STM32MP1ADD3. As STM32MP1 datasheet suggest that it can support up-to 1066. So using above part from Winbond will have any interface issue ? Thanks. Hi @Community member can you please share your input on above issue.
The RGB PANEL will not work and cannot generate device nodes,linux version v5.15-stm32mp-r1,I see your Wiki page has this problem as well:[ 0.100769] platform 5a000000.dsi: Fixing up cyclic dependency with 5a001000.display-controllerCould you please confirm the problem? I have checked the device tree and it is OK in 5.4。What should I do?
Hello We are using STM32MP157A-dk1 evaluation board. To this we are writing bare metal code in SEGGER Embedded Studio. We have written code for all three cores (A7_0,A7_1,M4). Individually we are able to debug(with limitations), For final testing we would like to debug one processor(one of the core) while other are running. How to load code to other cores to run/simulate actual system. We are debugging only one core but others should be in running. How to load code and put them in full run state for application testing. Example situation: In this case STM32MP157 has two cortex A7 and one cortex M4. We would like to debug cortex M4, while other two cores running independently. For this We need to put boot mode pins in JTAG mode(for M4 debugging). Then Both A7 will not boot at all. Alternatively, we put Boot mode to QSPI(any device other than JTAG) so that Both Cortex A7 are running. Also, We can activate M4.  
I am using STM32MP1 EV board.
We built a customised board based on the stm32mp175c-dk2, with some changes, one of which was the addition of two USB type-c connectors.When I try to use the USB in DFU mode, everything works fine, as long as the boot switch is turned off. When I turn the switch on, my computer does not "see" the USB at all. The same image is used on both the stm32mp175c-dk2 and our board. My computer sees the USB in stm32mp175c-dk2, but our board does not.Anyone who can help me with this problem, as I am unable to establish an ssh connection using ethernet-over-usb?I want to usb USB_DM/P 2 in our connector I have change the DNP resistors to use USB 2 instead of USB 1
helloWe are using STM32MP157A-dk1 evaluation board. To this we are writing bare metal code in SEGGER Embedded Studio.Actually, We have enabled group and set enable registers for respected SGI and PPI interrupts in GICC and GICD registers. By this we are able to generate SGI and PPI interrupts for cortex A_0 but unable to generate for cortex A_1. what might be the issue ?regards srikanth
Hello,I'm working with STM32MP1-DK2. I want to run a project on it.I need to implement a callback function in the A7-core (Linux side) to read a pin whenever a signal comes in (on the rising or falling edges).Actually, I need to have a callback() function to read the incoming signal and do something after that. I don't know how to implement the callback() for a pin from a GPIO port for my STM32MP157F. I would be grateful if you could give me a hand with it. Best,Saeed
Hello,I need to send several kilobytes of data from the M4 to the A7. However, I am experiencing data loss during this transfer. Is there a function that waits on the M4 side, until the A7 has collected all data from the tty./* * Channel direction and usage: * * ======== <-- new msg ---=============--------<------ ======= * || || || CHANNEL 1 || || || * || A7 || ------->-------=============--- buf free--> || M4 || * || || || || * ||master|| <-- buf free---=============--------<------ ||slave|| * || || || CHANNEL 2 || || || * ======== ------->-------=============----new msg --> ======= */for instance channel2 - buf free.Many thanks!
We have a custom PCB application that uses the STM32MP151CAC1 as the main CPU. We have tried to use an STLink v3 to connect to the chip over SWD, but have been unable to do so. The chip (through UART4) throws the following error when I try to connect:ERROR: Illegal access to 0xe000edf0: ERROR: FAIL_ID = 0x2 ERROR: Non-Secure ERROR: Privilege ERROR: Write PANIC at PC : 0x2ffc9b61 Exception mode=0x00000016 at: 0x2ffc9b61Meanwhile, on the STCube Programmer, depending on what settings I have, I get one of the following error messages:Error: Cannot connect to access port 1 If you are trying to connet to a device with TrustZone enabled please try to connect with HotPlug modeError: DEV_UNKNOWN_MCU_TARGETError: Cannot identify the deviceSome additional information:The signals I'm trying to communicate over are:JTMS (pin C20 on the STM32MP1)JTCK (B20)JTDI (A20)JTDO (A19)JTRST (19)Of those, JTMS and JTRST are pulled up to VDD through 10K resistors. JTCK is pulled down to ground through another 1
Hi there, I just received the STM32157f-dk2 discovery board, and I just started to dive into the tutorials. I am trying to simply follow the step to just cross-compile and flash the kernel image. When I complete all the steps and reboot the board, the kernel does not start U-Boot 2018.11-stm32mp-r4 (Nov 14 2018 - 16:10:06 +0000)CPU: STM32MP157FAC Rev.ZModel: STMicroelectronics STM32MP157C-DK2 Discovery BoardBoard: stm32mp1 in trusted mode (st,stm32mp157c-dk2)Board: MB1272 Var4 Rev.C-02DRAM: 512 MiBClocks:- MPU : 800 MHz- MCU : 208.878 MHz- AXI : 266.500 MHz- PER : 24 MHz- DDR : 533 MHzNAND: 0 MiBMMC: STM32 SDMMC2: 0, STM32 SDMMC2: 1Loading Environment from EXT4... OKIn: serialOut: serialErr: serialNet: eth0: ethernet@5800a000Hit any key to stop autoboot: 0Boot over mmc0!switch to partitions #0, OKmmc0 is current deviceScanning mmc 0:4...Found U-Boot script /boot.scr.uimg1628 bytes read in 1 ms (1.6 MiB/s)## Executing
I'm trying to set otg on stm32mp157d in device only mode, according to the guidance on OTG device tree configuration - stm32mpu (stmicroelectronics.cn), &usbotg_hs { compatible = "st,stm32mp15-hsotg", "snps,dwc2"; phys = <&usbphyc_port1 0>; /* 0: UTMI switch selects the OTG controller */ phy-names = "usb2-phy"; dr_mode = "peripheral"; /* could be "host", see USB generic bindings [6] */ usb-role-switch; /* see USB generic bindings [6] */ role-switch-default-mode = "peripheral"; /* could be "host", see USB generic bindings [6] */ status = "okay"; /* enable OTG */}; I also enable usbphyc like this:&usbphyc { status = "okay";};&usbphyc_port0 { phy-supply = <&vdd_usb>; st,phy-tuning = <&usb_phy_tuning>;};&usbphyc_port1 { phy-supply = <&vdd_usb>; st,phy-tuning = <&usb_phy_tuning>;};However , when I using the Uboot system ,I can use the otg port using the command ums to loa
I am new to STM32 boards and IDE but have an STM32MP157A-DK1 board which came with an SD Card / OS on it. We want to make our own OS image using the ST linux.In the downloads accompanying the workshop videos we have the DK2_TIMER1_OpenAmp_Solution to toggle an LED and present some ttyRPMSG devices to talk through.I can take the code and build it on STM32CubeIDE Version: 1.10.1 and get no errors to give an ELF file. I can also get the demo ELF file in the workshop zip.I can load both types of firmware into both the supplied SD Card OS and our development OS and in all cases I can flash the LED, start and stop the M4.With the workshop ELF file it works to provide the /dev/ttyRPMSG0 & 1 devices only on our OS build. The ELF file I can build provides the devices only on the supplied ST OS from the SD Card. But no ttyRPMSG devices appear with the alternate mixes.So what needs to be set compatible on the OS kernel / DTB's etc to make them appear.I have tested my build code to change the
Hi,We are using stm32mp157a processor in my custom board. I need to change MAC address because in uboot log it is showing it is showing invalid MAC address. I am setting MAC address using setenv ethaddr 11:22:33: 44:55:66 command. But when i set ethaddr i am getting following error messages in uboot log. you can see my log below. i have followed stm32mp1 trouble shooting guide.STM32MP1 bring-up troubleshooting guideHow can i come out of this issue. Please help us.
Hi, I got the result as below while I was building kernel images (uImage and vmlinux) and device tree (dtbs). Can anyone help me fix it?$ make ARCH=arm uImage vmlinux dtbs LOADADDR=0xC2000040 GEN Makefile CALL /home/rickweng/STM32MPU_workspace/STM32MP15-Ecosystem-v3.1.0/Developer-Package/stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17/sources/arm-ostl-linux-gnueabi/linux-stm32mp-5.10.61-stm32mp-r2-r0/linux-5.10.61/scripts/checksyscalls.sh CALL /home/rickweng/STM32MPU_workspace/STM32MP15-Ecosystem-v3.1.0/Developer-Package/stm32mp1-openstlinux-5.10-dunfell-mp1-21-11-17/sources/arm-ostl-linux-gnueabi/linux-stm32mp-5.10.61-stm32mp-r2-r0/linux-5.10.61/scripts/atomic/check-atomics.sh CHK include/generated/compile.hmake[3]: *** No rule to make target 'drivers/cpuidle/cpuidle-stm32.o', needed by 'drivers/cpuidle/built-in.a'. Stop.I wonder why there's no rule to make target. I didn't do any modification and just followed
We have also deleted the OTG (USBC) hardware and have commented out the code to check for the OTG power., Otherwise we are using the basic defconfig and the DK2 devtree.
I've build chromium from meta-browser for stm32mp157 dk. When run chromium I'm getting:/usr/bin/chromium: error while loading shared libraries: libgbm.so: cannot open shared object file: No such file or directoryWhen use wayland version everything works fine. Any ideas what can be missing please? Thanks.
In AN5031 Rev4,Figure 49. Gigabit Ethernet 2-port switch example with VDD = 3.3 V (RTL8363NB-VG)There is the RTL8363NB used, but I can't find the driver anywhere.Can you provide the driver file or tell me where it is?
Hello!I am trying to replicate the workshop STM32MP1 - 11 Inter-Processor Communication Lab Example. I create a new STM32 project and copy all the data from the lab example. Then I connect the device (STM32MP157C-DK2) but the /dev/ttyRPMSG0 does not initialize (so I can´t send message between processors):My programSTM32MP1 - 11 Inter-Processor Communication Lab Example I create my program in STM32CubeIDE version 1.10.1.How can I initilize ttyRPMSG0 and ttyRPMSG1?Thanks!
We quite recently learnt of the move from U-Boot SPL to STM32DDRFW-UTIL and that the MX too would not longer work with the former. That wasted a decent amount of time.The problem is although the code for STM32DDRFW-UTIL is available our PMIC is on I2C6 and the code for the DK2 board doesn't abstract the connection of its PMIC to I2C4 cleanly.For example there's a function called BSP_I2C4_WriteReg that calls I2C4_WriteReg. Elsewhere it says#define DISCO_I2C4_CLK_DISABLE() __HAL_RCC_I2C4_CLK_DISABLE()and there are a load more defines that DISCO_I2C4 is I2C4_something. I feel a lot more of this could have been done making better use of pre-processing to reduce the repetition of things of the form#define <w>_I2C<n>_<x> <y>_I2C<n>_<z> .It should be that the disco's STPMU1_Register_Write calls I2C4_WriteReg and that's the board abstraction.Is there a guide to the simplest way to change the I2C port the PMIC is connected to in STM32DDRFW-UTIL ?Thanks,Jon
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.