Get ready for the STM32 Summit 2026 | Online, November 3
Join conversations with your peers and ST experts. Explore the full potential of STM32 microprocessors for your embedded design.
Most recent activity
Hi.I started to play with STM32MP1 micros and have a problem. How can I add so libraries not having "normal" linux tools? I wrote a simple GTK app and I am missing libpcreposix.so.0
Hello,The starter package of STM32MP1-Ecosystem-v4.1.0 is downloaded to the SD card on STM32MP157D-EV1 board and SD booting is fine as attached log file. The tried layout files were FlashLayout_sdcard_stm32mp157d-ev1-trusted.tsv and FlashLayout_sdcard_stm32mp157d-ev1-optee.tsvHowever, I don't see the below menu screen to select the boot mode for M4 examples. How can I enable the menu screen with the starter package?Select the boot mode 1: stm32mp157c-ev1-sdcard 2: stm32mp157c-ev1-a7-examples-sdcard 3: stm32mp157c-ev1-m4-examples-sdcard <- Select stm32mp157c-ev1-m4-examples-sdcard Enter choice: 3 3: stm32mp157c-ev1-m4-examples-sdcard Retrieving file: /uImageThanks.
Hello, I have a board based on the stm32mp153a and I'm trying to get it to boot, unfortunately I can only access USART 6 while it seems that uboot only tries to interact using uart4.In my dbs file I have overridden usart6/status to be "okay" instead of disabled and have set stdout-path in /chosen (though I believe that would only impact the kernel)However this is not working and I think I am missing something, does anyone know how to change the port used for output by uboot?Thank you for your help
Hi,I'm working on creating a simple soundcard with a simple codec called pcm5102a which is a part of the kernel source. My board is the STM32MP135F-DK. I2S seems to be enough for this purpose however if you think that SAI will work better, then I'll take advice on that happily as well.The current configuration is as in the attached audio_test.zip with I2S1 enabled and SPI1 Clock Mux set to PLL3Q instead of the default PLL4P (all set in the STM32CubeMX). The configuration is inserted into the build with a new machine and it does build without any problems. It's only after the boot that aplay -l doesn't list any soundcards, moreover below message is visible in the dmesg output: [ 3.600504] st,stm32-i2s 44004000.audio-controller: Could not get x8k parent clock: -2 [ 3.607136] st,stm32-i2s: probe of 44004000.audio-controller failed with error -2 I read that the x8k is one of the clocks necessary for audio handling, however can't figure out how to fix that.Below are th
Hi there,in order to have an externally generated clock for our LTDC peripheral we decided to use the I2S_CKIN as the reference clock for PLL4 on our customized STM32MP157CAC board. Reference manual and STM32CubeMX are showing that this opportunity exist. But currently the TF-A is crashing with a panic when we change the PLL4 clock source to I2S_CKIN in the device tree.We are using the following softwares:Yocto dunfell v3.1.7CubeMX: 6.1.1TF-A: 2.2Linux: 5.4.56U-Boot: 2020.01What we have done so far is the adaption of the TF-A device tree. We entered a definition of the desired input pin:&pinctrl {rcc_pins_mx: rcc_mx-0 {pins {pinmux = <STM32_PINMUX('I', 11, AF5)>; /* I2S_CKIN */bias-disable;drive-push-pull;slew-rate = <0>;};};};Then we changed the RCC node to have the I2SCKIN clksrc configured for PLL4:&rcc {st,clksrc=<CLK_MPU_PLL1PCLK_AXI_PLL2PCLK_MCU_PLL3PCLK_PLL12_HSECLK_PLL3_HSECLK_PLL4_I2SCKINCLK_RTC_LSECLK_MCO1_DISABLEDCLK_MCO2_DISABLED>;st,clkdiv = <1
Hi,I am working on a custom hardware based on STM32MP1 mpu and also uses some other peripherals too. For our use case, we are using Yocto Linux. I am using the pin PA12 as an input GPIO interrupt, configured to trigger for falling edge. The interrupt works fine and gets triggered whenever the pin level goes low.I need to use an led also as part of the application which is connected on-board to PD12. I opened the /sys/class/gpio/export and write the pin no. to the file and then set the direction as out in direction file.But when the GPIO pin is enabled, the interrupt is not triggering. When we disable the GPIO pin and test, the interrupt works fine. The same happens if I enable the same pin no. on any GPIO port, whether it is PB12 or PC12 or PF12. I checked the registers also but everything is fine.Can anyone help me with this issue. I am really stuck with this problem. REGISTERADDRESS VALUEEXTI_FTSR1 0x5000D004 0x00001000EXTI_RTSR1 0x5000D000 0x0EXTI_
Hello everyone.I'm trying to build an embedded openSTLinux Yocto image but I have the following error"ERROR:.. do_rootfs: No manifest generated from: <my_name_folder> in ..."Why does a similar error appears?I explain better. Previously, the build process worked fine. Then I modified a ".bb" recipe to install new files into the root file system. The new files are contained in <my_name_folder>. After doing this, the build process fails with the message error shown above. I tried to delete the new files from <my_name_folder> folder and restore the old ".bb" recipe version but the errors remain.Any suggestion?Many thanks
Hi,I have a problem with the configuration of PA10 of stm32mp135 to work as pwm of TIM1_CH3. I also make an experiment to disable completely timer and PWM and I also can't control this pin using gpioset. In the documentation I saw that this pin is dedicated to USB "...OTG_HS_ID is on PA10 (EXTI10)". My question is simple how to disconnect PA10 from USB completely? CubeMx doesn't do that.
Hello everyone,I am working on a custom board based on stm32mp15x. I am trying to periodically wake up my system from the shutdown condition using the RTC. From the hardware point of view, I am using the STPMIC to restore the Vdd supply of the MPU, when the RTC alarm is triggered.I am using an oscilloscope to monitor the VBAT and the Vdd pins, and I can see approximately 1.8V on the VBAT pin when the system is shutdown.Looking around in this forum, I've found similar questions so I tried to patch TF-A to set the PWR_CR2 bits: PWR_CR2_RREN and PWR_CR2_BREN, but unsuccessfully. When I shutdown the system, after the RTC timer expires I obtain: (this makes me think that at least the signals are wired correctly) [ 101.016028] systemd-shutdown[1]: Powering off. [ 101.159164] reboot: Power down INFO: PSCI Power Domain Map: INFO: Domain Node : Level 1, parent_node -1, State ON (0x0) INFO: Domain Node : Level 0, parent_node 0, State ON (0x0) INFO: CPU Node : MPID 0x0, parent_node 0, State
Hi all,The development board we are using STM32MP157C-YA157C from Myirtech is running Ubuntu 18 with openstlinux.I am trying to interface the usart1 with another module but by default, the peripheral is not enabled from device tree.So, I modified the device tree as follows (pins z6 and z7 are used by usart1) according to the document of ST : usart1_pins_a: usart1-0 { pins1 { pinmux = <STM32_PINMUX('Z', 7, AF7)>; /* UART1_TX */ bias-disable; drive-push-pull; slew-rate = <0>; }; pins2 { pinmux = <STM32_PINMUX('Z', 6, AF7)>; /* UART1_RX */ bias-disable; }; }; usart1_idle_pins_a: usart1-idle-0 { pins1 { pinmux = <STM32_PINMUX('Z', 7, ANALOG)>; /* UART1_TX */ }; pins2 { pinmux = <STM32_PINMUX('Z', 6, AF7)>; /* UART1_RX */ bias-disable; }; }; usart1_sleep_pins_a: usart1-sleep-0 { pins { pinmux = <STM32_PINMUX('Z', 7, ANALOG)>, /* UART1_TX */ <STM32_PINMUX('Z', 6, ANALOG)>; /* UART1_RX */ }; };&usart1 { pinctrl-names = "default
Hello everyone! I'm using the STM32MP157F-DK2 and the OpenSTlinux Distribution package with a set of Yocto recipes that do not affect the Linux kernel. I have written a program for the Cortex-M4 core and created a device tree in CubeMX. Then, I built my OpenSTlinux distribution based on my device tree from CubeMX (based on guide "How to compile the device tree with the Distribution Package"). Initially, everything works fine, and I have a fully functional Linux distribution and a working program for the Cortex-M4. However, if I want to stop the execution of the Cortex-M4 firmware and try to run it again, nothing happens. It's as if I'm running a firmware that does nothing. Only reboot helps. In my program, I use UART3, SPI5, several timers, GPIO ports, and OpenTTY Virtual UART for communication between A7 and M4 cores. I suspect the issue might be related to clock configuration, but I haven't found a way to diagnose this problem in more detail yet. I hope someone here can help me.
I'm building libqmi for the STM32MP157 and getting an error at this point in the build GISCAN Qmi-1.0.girTraceback (most recent call last):File "/home/ed/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Developer-Package/SDK/sysroots/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/usr/bin/g-ir-scanner", line 98, in <module>from giscanner.scannermain import scanner_mainFile "/home/ed/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Developer-Package/SDK/sysroots/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/usr/lib/gobject-introspection/giscanner/scannermain.py", line 35, in <module>from giscanner.ast import Include, NamespaceFile "/home/ed/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Developer-Package/SDK/sysroots/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/usr/lib/gobject-introspection/giscanner/ast.py", line 29, in <module>from .sourcescanner import CTYPE_TYPEDEF, CSYMBOL_TYPE_TYPEDEFFile "/home/ed/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Developer-Package/SDK/sysroots/cor
Hi.I have a problem with controlling the LED on the stm32mp135f-dk board.bashroot@techs:~# gpioinfo -c0gpiochip0 - 16 lines: line 0: "PA0" input line 1: "PA1" input consumer="kernel" line 2: "PA2" input consumer="kernel" line 3: "PA3" input line 4: "PA4" input line 5: "PA5" input line 6: "PA6" input consumer="kernel" line 7: "PA7" inp
Hi,I have a slight problem with st-image-weston.bbappend.In my meta-layer in folder /recipes-st/images/ I add an st-image-weston.bbappend to install a few packages I intend to have.And now something is strange, after adding a new package to install into rootfs the packages start to compile but not install on rootfs.Content of my st-image-weston.bbappend FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" inherit populate_sdk_qt5 IMAGE_INSTALL += " \ qtbase-dev \ qtbase-mkspecs \ qtbase-tools \ qtdeclarative-qmlplugins \ qtquickcontrols2-qmlplugins \ qtwayland \ gstreamer1.0 \ gstreamer1.0-plugins-good \ " CORE_IMAGE_EXTRA_INSTALL += " \ net-tools \ openvpn \ systemd-networkd-configuration \ netplan \ networkmanager \ iproute2 \ ppp \ usb-modeswitch \ usbip \ ppp-dialin \ libiio \ packagegroup-st-demo \ sox \ libnfc \ sdcard-raw-tools \ " IMAGE_ROOTFS_MAXSIZE = "950000" Finally, many packages are not installed for instance USB gadget DHCP server, ppp etc.F
Hello,I am working on a project that is using wifi to communicate with the connected device and the latency is critical. We are using the wifi JODY-W263-00B from U-Blox connected by SDIO bus, and for measuring the latency we simply use ping command. The average latency of our setup is around 10 ms. As this project is the third generation of our product we have a comparison with the previous generation that was based on the imx6 chip from NXP, and with it, we were able to reach average latency of around 1.8 ms, but we were using a different wifi module (ELLA-W161). To make this comparable we have made a few measurements using different CPUs, wifi modules, and connection types. Our results are in this spreadsheet. In the name/board column is the name of the device to which was wifi module connected, the WIFI connection column shows how we connected module/evk kit, and columns under Ping [ms] are our measurements. Other columns are self-explanatory as I hope.From measurements, you can see
Hello everyoneThe "bitbake <my_recipe>" process ends without errors but the "/usr/local/" folder of the image is empty (there are no ST demo folders and no "weston-start-at-startup" folder). Why?Thanks
I am using STM32MP153 MPU on custom board.Is it possible to read/write memory region using ST-Link connected via JTAG interface?Most interesting if this is possible through some command line interface, perhaps my own C program using some API.
Hi I have used the "bitbake -c populate_sdk st-image-weston" command to generate an updated SDK with OpenCV and ZerMQ packages. The SDK is generated successfully.The issue is when I want to use this SDK in STM32CubeIDE, since I can't seem to find the SDK in "OpenSTLinux SDK Manager" under Window ==> Preferences. The manager can easily find the standard SDK which can be downloaded from the website. I suspect the issue to be the version name, since the updated SDK outputs "4.0.4-snapshot" instead of "4.0.4-openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23" when entering:PC >> echo $OECORE_SDK_VERSIONWhat can I do to fix this? :)(OpenSTLinux SDK Manager unable to see SDK)(Updated SDK folder)
Hi all,We design the custom board use ST32MP157 base on the design of STM32MP157-DK2 kit. We use the SD card for booting. The image and device tree is custom base on example of STM32MP157-DK2 kit. The board has a issue when booting via SD card. This is the booting logNOTICE: CPU: STM32MP157DAA Rev.ZNOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23ERROR: nvmem node board_id not foundINFO: PMIC version = 0x21INFO: Reset reason (0x15):INFO: Power-on Reset (rst_por)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using SDMMCINFO: Instance 1INFO: Boot used partition fsbl1NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):()NOTICE: BL2: Built : 09:44:59, Jun 13 2023WARNING: Failed to access image id=3 (-2)ERROR: Unable to find a metadata partitionWARNING: Failed to set reference to image id=12 (-2)WARNING: loading of FWU-Metadata failed, using Bkup-
Hello, For some time I testing STM32MP135f with 1GHz CPU clocking. I was able to generate optee OpenStLinux but I see a lack of CPU efficiency. I'm curious what is the difference in efficiency between trust and optee. If I use the trusted option the unit will be more efficient?
We are trying to bringup the Wi-Fi module connected over the sdmmc3 line with the STM32MP157F based custom board. But it seems, when enabling the sdmmc3 lines on the kernel and u-boot dts files, the kernel boot fails on "Waiting for Keymaster device" as seen in the logs below:This issue occurs only when the sdmmc3 is enabled in the dts, otherwise the boot is successful.Cannot see where to look for the error!
Hi all,I own an STM32MP157-DK1. I am trying to setup the TFT display ILI9341 on this discovery kit. I am familiar with Bitbake and Yocto. Are there any minimal images available that I can bake and dump on my discovery kit (SD card) to test my display unit. My end goal is to use Qt to develop UI for this display unit.If there are no images available that can support ILI9341, please point me to resources that I can use to configure my custom image that can support this display unit. Looking forward to your suggestions and inputs.@Kevin HUBERtagging you because I saw your response on a similar post.Best,Vishnu
Hi!I've been running an embedded linux (built with Buildroot) on a STM32MP157F-DK2. I need to use both USART3 and UART7 ports to interact with other devices.I've used it flawlessly with only USART3 enabled in linux's device tree for months. Recently, I've enabled UART7 in the device tree and USART3 suddenly stopped working (always getting a "resource busy" message when writing or reading from it).Rolling back the UART7 modification fixes the issue every time. No error messages appear during build or on boot.Here's a sample of the .dtsi file: &uart4 { pinctrl-names = "default", "sleep", "idle"; pinctrl-0 = <&uart4_pins_a>; pinctrl-1 = <&uart4_sleep_pins_a>; pinctrl-2 = <&uart4_idle_pins_a>; status = "okay"; }; &uart7 { pinctrl-names = "default", "sleep", "idle"; pinctrl-0 = <&uart7_pins_c>; pinctrl-1 = <&uart7_sleep_pins_c>; pinctrl-2 = <&uart7_idle_pins_c>; status = "disabled"; }; &usart3 { pinctr
Hello,Searched around but couldn't find a similar issue.Please point me to one if one exist. I have a custom board with the stm32mp157c mounted. Board works fine, trying to communication between the m4 and a7 processor using the rpmsg devices. I have the example compiled but when I run it either of the rpmsg0 or 1 devices are present under /dev. If I take a precompiled example of the tty echo it runs fine.Log from my build[40144.602678] remoteproc remoteproc0: powering up m4[40144.612280] remoteproc remoteproc0: Booting fw image OpenAMP_TTY_echo_CM4.elf, size 2367104[40144.623913] mlahb:m4@10000000#vdev0buffer: assigned reserved memory node vdev0buffer@10042000[40144.631840] virtio_rpmsg_bus virtio0: rpmsg host is online[40144.631970] virtio_rpmsg_bus virtio0: creating channel rpmsg-tty addr 0x400[40144.644298] mlahb:m4@10000000#vdev0buffer: registered virtio0 (type 7)[40144.650201] remoteproc remoteproc0: remote processor m4 is now up[40144.656732] virtio_rpmsg_bus virtio0: creating c
Hello.I use a board STM32MP157A-DK1. I have SD-card with linux and now i try to run the board in KEIL. I have read file "Using STM32MP1 Cortex-M with Keil MDK". But I get error:Error: flash download failed.Also a can see:Full ship erase done.No Algorithm found for: 0000000H - 000003BBHNo Algorithm found for: 1000000H - 1000147FHProgramming skiped.I think that (if i enter options - utilites - settings - add) I have to add the correct algorithm but I get the algorithm whatever i choose. Maybe may I download the correct algorithm?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.