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
Hey, I'm following the Distribution Package tutorial, specifically the QT image and SDK with EGLFS tutorial: wiki I did build the Qt image with bitbake st-example-image-qt but building the SDK with bitbake st-example-image-qt -c populate_SDL gets me the following error: ERROR: nativesdk-cmsis-svd-0.4+gitAUTOINC+f487b5ca7c-r0 do_fetch: Fetcher failure: Unable to find revision f487b5ca7c132b8f09d11514c509372f83a6cb75 in branch master even from upstream ERROR: nativesdk-cmsis-svd-0.4+gitAUTOINC+f487b5ca7c-r0 do_fetch: Bitbake Fetcher Error: FetchError('Unable to fetch URL from any source.', 'git://github.com/posborne/cmsis-svd.git;protocol=https;branch=master') ERROR: Logfile of failure stored in: /home/alec/STM32MPU_workspace/Distribution-Package/build-openstlinuxeglfs-stm32mp1/tmp-glibc/work/x86_64-nativesdk-ostl_sdk-linux/nativesdk-cmsis-svd/0.4+gitAUTOINC+f487b5ca7c-r0/temp/log.do_fetch.3973 ERROR: Task (virtu
Hi, I want to use my stm32mp157c-dk2 board with capacitive touchscreen display(7inch HDMI LCD (B)), image that I installed for stm32mp1 board is Distribution Package st-example-image-qt (DISTRO=openstlinux-eglfs MACHINE=stm32mp1-disco source layers/meta-st/scripts/envsetup.sh) 7inch HDMI LCD(B)I think I need to modify device tree and kernel configuration but I dont know which drivers do I need, could you help me?
Hi I plan to use CAN communication on the development board, but I have encountered some issues.Modified stm32mp135f-dk.dts based on the instructions on the wiki.wiki:FDCAN device tree configuration However, the stm32mp13-pinctrl.dtsi file does not define the m_can2_pins_a and m_can2_sleep_pins_a nodes.How should I specify the pins of CAN?
I'm trying to work through and understand the OpenAMP_TTY_echo example project provided by the Keil MDK pack STM32MP1xx_DFP v1.3.1.The environment I'm running on is the STM32MP157D-DK1 with a Yocto built Linux image.I can build in Keil MDK and then transfer the OpenAMP_TTY_echo.axf file to the /lib/firmware/ directory with the following command.scp -oStrictHostKeyChecking=no -r OpenAMP_TTY_echo.axf root@192.168.90.165:/lib/firmware/openamp_tty_echoAnd then run it on the CM4 processor using the following commands:echo openamp_tty_echo > /sys/class/remoteproc/remoteproc0/firmwareecho start > /sys/class/remoteproc/remoteproc0/state[ 3906.420033] remoteproc remoteproc0: powering up m4[ 3906.424980] remoteproc remoteproc0: Booting fw image openamp_tty_echo, size 512184[ 3906.432298] remoteproc0#vdev0buffer: assigned reserved memory node vdev0buffer@10042000[ 3906.445158] virtio_rpmsg_bus virtio0: rpmsg host is online[ 3906.457752] remoteproc0#vdev0buffer: registered virtio0 (type 7)[
Hello, we are currently working with the STM32MP157F-DK2 evaluation board. We have a couple questions regarding the DDR setup on the board. First, when accessing DDR memory, is there any level of CPU caching occurring, or can the memory region have cache disabled? For example, on ARMv7, memory regions can be mapped with certain attributes to ensure requests are always served from memory. It seems like only some STM32 board models have L1 caching, and this board is not one of them. We want to ensure that when we access a DDR memory location, the request is being served to the memory controller.Also, we are a bit confused by the organization for the DDR addressing. We use 32-bit addresses, which are then converted to the appropriate row/column/bank numbers in DDR. We are currently running the default firmware listed on the "Getting Started with M4" guide. We are consulting the DDRCTRL registers and the Reference Manual for the board. The DDRCTRL_MSTR register bits 13, 12 (DATA_BUS_WIDTH)
HI,Voici mon problème, Sur ma carte éléctronique, j'ulise un stm32mp15 ave le pmic de ST. J'utilise la broche LD02 du pmic pour allimenter un récépteur GPS (relié sur l'uart 7) que j'aimerai pouvoir couper/allumer (depuis le user space) pour des questions d'économie d'énergie. Hors, j'utilise le driver pmic et celui-ci ne permet pas couper les alimentation dans sysfs, de plus, si je veux aller directement modifier les registre en i2c, j'ai le message "ressource busy" car le driver du pmic utilise déjà l'i2c. Comment faire por résoudre ce problème ?Voici un extrait de mon device tree : pmic:stpmic@33{ compatible = "st,stpmic1";... regulators{ compatible = "st,stpmic1-regulators";... ldo2-supply = <&vin>;... v3v0_gnss:ldo2{  
Hi, when I inserted keyboard/mouse to USB host port, nothing happened (log console) and this even cause usb host stop working then.But when I inserted keyboard/mouse to a hub and connect this hub to usb host port, everything working fine.The problem is only happened with hid (keyboard/mouse). When I used USB thumb drive, it works just fine, no need the hub.The chip I used is STM32MP153 and this is custom buildDoes anyone know why or any hint?Thanks.
I am booting from EMMC with this flash layout./dev/mmcblk1p1 : start= 34, size= 1024, type=8DA63339-0007-60C0-C436-083AC8230908, uuid=077BFE04-5B1A-41F8-8DC2-B47FCC4EA832, name="metadata1"/dev/mmcblk0p2 : start= 1058, size= 1024, type=8DA63339-0007-60C0-C436-083AC8230908, uuid=9487F545-20A2-495E-A515-41B16AF75FE7, name="metadata2"/dev/mmcblk1p3 : start= 2082, size= 4096, type=19D5DF83-11B0-457B-BE2C-7559C13142A5, uuid=4fd84c93-54ef-463f-a7ef-ae25ff887087, name="fip-a"/dev/mmcblk1p4 : start= 6178, size= 4096, type=19D5DF83-11B0-457B-BE2C-7559C13142A5, uuid=09C54952-D5BF-45AF-ACEE-335303766FB3, name="fip-b"/dev/mmcblk1p5 : start= 10274, size= 1024, type=3DE21764-95DB-54BD-A5C3-4ABE786F38A8, uuid=5BB4327D-D6F5-4007-BE5C-85681ED9C1E7, name="u-boot-env"/dev/mmcblk1p6 : start= 11298, size= 974848, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=929FE52B-B9E0-459A-80AB-A8F82878CB57, name="bootfs", attrs="LegacyBIOSBootable"/dev/mmcblk1p7 : start= 986146, size= 32768, type=0FC63DAF-8483-4772-8
Hello,I'm considering to use Kingston 04EM04-N3GM627 as the memory and storage for STM32MP157C/F with 32-bit LPDDR3 support. The Kingston part has 16M words × 32 bits × 8 banks, but the evaluation board uses two 16 bits memory parts. Is this Kingston part compatible and how should I connect the pins?Here's the datasheet for the part: LPDDR3 is on page 26.https://www.mouser.com/datasheet/2/1389/Kingston_04EM04_N3GM627_GA06U___v1_1-3236179.pdfThanks.
Hello, guys.My goal is highly consistent with this ticket:https://community.st.com/t5/stm32-mpus-products/cannot-get-spi-lcd-working-with-stm32mp157d-dk1-yocto/m-p/225522I hope to drive the LCD ili9341 based on STM32MP157F-DK2 but till now it has not been successful, the LCD has always been a white screen.kernel configCONFIG_TINYDRM_ILI9341=y /* drivers/gpu/drm/tiny/ili9341.c */device tree &spi5 { status = "okay"; panel: display@0{ compatible = "adafruit,yx240qv29", "ilitek,ili9341"; reg = <0>; spi-3wire; spi-max-frequency = <10000000>; dc-gpios = <&gpioa 8 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpiod 7 GPIO_ACTIVE_HIGH>; rotation = <270>; status = "okay"; }; }; some logsthe card 0 is the default mipi otm8009a display that works well.root@stm32mp1:~# ls /dev/dri/ by-path card0 card1 root@stm32mp1:~# dmesg | grep ili9341 [ 14.917187] [drm] Initialized ili9341 1.0.0 20180514 for spi0.0 on minor 1 root@stm32mp1
I am upgrading from ecosystem 4.1 to 4.0. after changing every thing properly in the device tree. and now i successfully compiled the image partitions using bitbake how ever when i boot using the flashed images every thing works correctly utill i recive the following error on the boot Starting version 250.5+ root '/dev/disk/by-partuuid/e91c4e10-16e6-4c0e-bd0e-77becf4a3582' doesn't exist or does not contain a /dev.the full boot log is in the following .txt filei did try to flash using :the script provided to prepare a raw imagemanually using fdisk and dd change the config in boot Partion and insert the rootfs adiquet id verify the UUID of the partition the compilation generates the following message when i compile the image using bitbake NOTE: Started PRServer with DBfile: /media/user1/st4_1/kirkstone/build-openstlinuxweston-stm32mp1/cache/prserv.sqlite3, Address: 127.0.0.1:37179, PID: 2053248 Loading cache: 100% |###########################################| Time: 0:00:05 Loaded
We are developing a board with stm32mp135 processor and to load the entire operating system on the external mmc we set the boot pins in USB boot programming mode, after which we use Stm32 cube programmer.If we wanted to carry out this operation even when the card is sealed and only has the external USB connector, how could we do it? Is it possible to programmatically change the state of the boot pins from a resident SW application, restart the processor, use the stm32 cube progremmer again and then restore the state of the boot pins and reset again?Essentially we would like to carry out the procedure described in https://wiki.st.com/stm32mpu/wiki/STM32MP13_Discovery_kits_-_Starter_Package(paragraph 6.2 and 7) programmatically. Is there any other solution?
How to use M4 core to sleep and wake A7 core
Hello everyone, I would like to know how to disable the JTAG on STM32MP153CAA. BR Tobias
Hi,I'm having an issue with RTC module. getting an error due to no clock source is connected to rtc_ck:[ 3.645423] stm32_rtc 5c004000.rtc: rtc_ck is slow[ 3.749902] stm32_rtc 5c004000.rtc: Can't enter in init mode. Prescaler config failed.[ 3.756489] stm32_rtc: probe of 5c004000.rtc failed with error -110when I checked the clocks:root@stm32mp1:~# cat /sys/kernel/debug/clk/clk_summary |grep rtcrtcapb 0 0 0 66625000 0 0 50000 Yck_rtc 0 0 0 0 0 0 50000 Yroot@stm32mp1:~# cat /sys/kernel/debug/clk/clk_summary |grep lseck_lse 0 0 0 32768 0 0 50000 YAlso checked the RCC_BDCR @ 0x50000400 and the returned value is 0x00100035 which means RTCSRC[1:0] register is 0. That means it is not selecting any other clock source (LSE, LSI and HSE/DIV). I have tried to change and select every clock source configuration from CubeMX using RTC Clock Mux, no luck. It doesn't choose a clock source and it stays conneted to 0. I have read and tried to solve it using the sources below:https://wiki.stmicro
I wonder if i can run debian based distro, lets say ubuntu on STM32MP135-dk. If yes, Is there any example project i can check?
We are using STM32MP157F in our board, running OSD32MP1 Debian SDK v3.0 (Linux Kernel v5.10-stm32mp).In our board VDDA pin is connected to LDO5 at 3.3VVREF+ and VREF- pins are connected to VSSA.We cannot supply external VREF for ADC due to hardware limitation, we are trying to use internal VREFBUF.We've made following updates in kernel device tree to enable VREFBUF in internal voltage reference mode. &adc { vdd-supply = <&vdd>; vdda-supply = <&v3v3_eth>; vref-supply = <&vrefbuf>; status = "okay"; adc1: adc@0 { st,min-sample-time-nsecs = <5000>; st,adc-channels = <0 1>; status = "okay"; }; }; &vrefbuf { regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; status = "okay"; }; Its not working and adc probe function is failing with timeout while waiting for the VRR bit in the VREFBUF CSR register (stm32_vrefbuf_enable)We get following debug messages# dmesg | grep -
Hi team,I have an STM32MP157 board with the following git branch.a. buildroot: remotes/origin/st/2023.02.6b. buildroot-external-st: remotes/origin/st/2023.02.2 I got the error message "no service found for - "org.qt-project.qt.camera"" when I run the QT5 example camera code. but "mediaservice" is in /usr/lib/qt/plugins/. The following are plugins:# ls /usr/lib/qt/plugins/audio imageformats qmltoolingbearer mediaservice scenegraphegldeviceintegrations platforms videogeneric playlistformats export QT_DEBUG_PLUGINS=0 //open debugexport QT_PLUGIN_PATH=/usr/lib/qt/plugins/root@buildroot:/usr/lib/qt/examples/multimediawidgets/camera# ./cameradefaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera" The libraries appear to be loaded.# ldd ./cameralinux-vdso.so.1 (0xbed92000)libatomic.so.1 => /lib/libatomic.so.1 (0xb6f20000)libQt5MultimediaWidgets.so.5 => /usr/lib/libQt5MultimediaWidgets.so.5 (0xb6ee0000)libQt5Multimedia.so.5 => /usr/lib/libQt5Mu
Dear STM: We would like to ask some quesions about how the internal clock of STM32MP157 series chips is used, in the handware instruction manual,only the use of external clock is introduce,How dose STM32MP157 use the internal clock?
Hello,I'm kind of stuck with my STM32MP157C custom board. In general, everything works fine except for the USB. I'm using the new Ecosystem 5 and using the USB OTG with the NCM Ethernet gadget. My USB has no ID pin wired and is in peripheral mode all the time.When the system has booted and I connect my device via USB to the PC, I get the following output, and the Ethernet connection works fine: dwc2 49000000.usb-otg: new device is high-speed [ 96.736784] dwc2 49000000.usb-otg: new address 42 [ 97.115268] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready When I disconnect the device, I get no output at all, and also none when I reconnect. The connection then does not work in any way until I reboot. I think the system is not even recognizing the connection loss. But I don't know why. I use the script provided by ST (stm32_usbotg_eth_config.sh) for setting up the gadget, and I have tried all device tree configurations I found for STM32MP1 by now. I will attach
Hey there,I am trying to troubleshoot the following issue for quite some time now. I am working on an stm32mp157f based board attempting to enable a combination of stusb16xx and USB OTG . The behavior I am expecting to see is that when a usb device is connected to usbphyc_port1 (usb-c) it will get recognized in the same way as if it was on ehci but when a host device is connected to the same port I can trigger a gadget script in udev.rules. My current configuration works as expected for all gadget modes: typec: stusb1600@28 { compatible = "st,stusb1600"; reg = <0x28>; interrupts = <11 IRQ_TYPE_LEVEL_LOW>; interrupt-parent = <&gpioi>; vsys-supply = <&vdd_usb>; pinctrl-names = "default"; pinctrl-0 = <&stusb1600_pins_a>; status = "okay"; vdd-supply = <&vin>; typec_con: connector { compatible = "usb-c-connector"; label = "USB-C"; power-role = "dual"; data-role = "dual"; typec-power-opmode = "def
Hi there, I am working on an STM32MP157F-DK2 board and an STUSB1600 with hsotg gadget support and no PD controller. I am running a buildroot image with all the necessary drivers enabled including dwc2, SystemFS etc. The gadget is working as expected in most configurations. It can be hotplugged and get recognised with a high-speed unique address without any issues on several computers running windows or linux with a usb-c to usb-c cable . Recently I attempted to connect the board to a series of apple computers to test compatibility. I faced several unexpected behaviours during these tests. Apple Macbooks (Intel) will have a 50-50 chance of recognising the DK board as a peripheral. The rest of the times the DK is recognised as a charger and the MBP will start charging Apple Macbooks (M1) will still have a 50-50 chance of recognising the DK board as a peripheral but the rest of the gadget will not get recognised at all. Apple Mac Mini (M2) will not get
We recently launched a product on the STM32MP157C series to control iot devices. We're trying to do some R&D for matter and based on our testing should be at least testable on any system with a wifi chip. The trouble we are running into is there does not seem to be an easy way to integrate the [connecthomeip repo](https://github.com/project-chip/connectedhomeip) with the yocto build system for that chip. I naively tried to [base a recipe off of a different chipset](https://github.com/nxp-imx/meta-matter/blob/master/recipes-matter/matter/matter.bb), but I keep running into cross compiling build issues. Is anyone else trying to build any matter tools for the STM32MP1 and has any advice for acomplishing this in the yocto build system?
Good morning,I would like to know if I can disable the JTAG in the STM32MP1. Once my project is finished I do not want this interface to be active. Is there a way to disable the JTAG/SWD interface with registers/fuses/OTP?Kind regards,Andrés
Hi All,i am using stmp157 customize board, with linux yocto build system, and using USART1 configure as a hardware flow control RS 232, and RTO interrupt. and what i found is that CTSIF is not toggling and the proper status are not getting update on CTS from USART SR register. on plug and unplug the usart cable, i expect when unplug the cable i should get CTSIF event and the status of CTS line. where the USART1, tx, rx, rts, cts all are set to alternate function and i confirm the linux cflag in stm32-uart.c is true, which the cr3 reg- CTSE and RTSE got set. 1. unplug/ or removing any one of line, i do see still tx is sending the characters/frames,2. unplug and plug activity checking with or without other device, but i observe the USART cts line is toggling on the oscilloscope.3. but no interrupt is been observed on stm32_interrupt(irq, *ptr) - stm32-usart.c Has any one faced this issue on your board and fixed it please do let me know. Thank you.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.