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
Hi,I'm interested if there is ADC input protection against voltage transients and overvoltage inside STM32MP157C or I should add external protection for used pins? If I had to add external components do you have some recommendations?Best regards,Nenad
Hi,I want to compile linux kernel for stm32mp157c-dk2, i followed guide in README.HOW_TO.txt and when i run command "make ARCH=arm O="$PWD/../build" multi_v7_defconfig fragment*.config" in point 5. I get following errors:/opt/st/stm32mp1/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9/scripts/kconfig/Makefile:109: *** No configuration exists for this target on this architecture. Stop./opt/st/stm32mp1/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9/Makefile:539: recipe for target 'fragment*.config' failedmake[2]: *** [fragment*.config] Error 2/opt/st/stm32mp1/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux-4.19.9/Makefile:286: recipe for target '__build_one_by_one' failedmake[1]: *** [__build_one_by_one] Error 2make[1]: Opuszczenie katalogu '/opt/st/stm32mp1/stm32mp1-op
Hi, I am helping establish a reliable drone survey product, performing low-bandwidth sense operations and image detection for on-board analytics. This unit responds to what it reports, performing control & maintenance when needed.Unit:- Drone w/steer & control`- Image capture & analysis- General sense, comm(RF/BT) & GPS- Low power (e.g. for the proc, ~4-6 hours on 2000mAh?)Services:- Route Navigation- Obstacle detection & avoidance- Survey Image Analytics (AI request)- Liquid dispense on request- System network integrationThis team has selected the Raspberry Pi 4 for solution, with interest in the Google Coral but I grew concern over reliable full-feature set support. Would the STM32MP support this feature set for a drone? They may ask for Google TPU support (the Coral's AI-engine via PCIe), would the STM32MP support interface to the TPU via PCIe?It looks like the answer is a strong yes to all listed above, I was reaching out to you first for confirmation =)Kin
..
Qt uses 'eglfs' to display. After configuring this 'hwcursor', use Qt to display the card on HDMI. The touch screen will also get stuck. When the QT_QPA_GENERIC_PLUGINS environment variable is deleted and the mouse is plugged in, the mouse cannot be displayed on the Qt interface, and the mouse can be used, and the use of 'hdmi' or LCD is very smooth. The terminal keeps printing "Failed to move cursor on screen UNKNOWN1: -14", as shown below.
Hello,I have a custom board based on STM32MP151-C with an eMMC on the following pins:SDMMC2_CK PE3 (AF09)SDMMC2_D0 PE6 (AF07)SDMMC2_CMD PG6 (AF10)I read that the ROM expects the the SDMMC2_D0 pin on PB14 so I need to change it by using values from the OTP. I found this link (https://community.st.com/s/question/0D50X0000AkQJiHSQW/how-to-change-emmc-interface) and did the same as the ST Support, just for my pins. Here are my results.OTP3 = 0x00000004 SDMMC2 (uses non default AFmux defined in OTP)OTP5 = 0x38745394SDMMC2_CK = PE3 (bits[15:0]: port0=5=GPIOE, pin0=3, afmux0=9, mode0=4=AF;pull-up;medium-speed)SDMMC2_D0 = PC8 (bits[31:16]: port1=3=GPIOC, pin1=8, afmux1=7, mode1=4=AF;pull-up;medium-speed)OTP6 = 0x000076A4SDMMC2_CMD = PG6 (bits[15:0]: port2=7=GPIOG, pin2=6, afmux2=10, mode2=4=AF;pull-up;medium-speed)Could someone please let me know if I calculated the OTP values correctly? So I dont brick the board.PS: How do I determine th
Hello,We have an issue with QML multimedia to display camera stream. The result is not smooth while with Qt widgets it works fine. Gstreamer pipeline from command line works as well. The hardware is a STM32MP157C SoC which provides a Vivante GCnano as GPU. Everything is compiled with our specific Yocto layer along with OpenSTLinux 2.0 release. So Qt release is 5.14.2 and GSTreamer release is 1.16. The camera output is VGA in UYVY format and the screen resolution is 480x800. Everything was tested in Weston session or EGLFS without differences. GStreamer pipeline from command line is:gst-launch-1.0 -v v4l2src ! "video/x-raw, width=640, height=480, framerate=(fraction)30/1, format=(string)UYVY" ! videoconvert ! videoscale ! video/x -raw,width=480,height=800 ! kmssink driver-name=stm connector-id=32 force-modesetting=trueThe result is smooth. QML applications are started by default with this environmentQT_QPA_EGLFS_ALWAYS_SET_MODE=1 QT_QPA_EGLFS_INTEGRATION=eglfs_kms QT_QPA_
I would syncrhonize A7 and M4 on STM32MP151A using IPCC interrupt, how can I do it? Moreover, using FreeRTOS, I need to start some task before of MX_OPENAMP_Init, but I noticed if I move this function after the Kernel starting, it doesn't work. I don't understand why?
Hello ST Support team,I have MP23DB01HP digital MEMS MIC sensor which has PDM output. I was gone through "AN5027" application note. I want to connect this digital MIC with DK2 to find dB data from it.suggest me steps to connect and run mic on DK2 board.Thanks in advance,Nikunj
Hi: I encountered a strange problem when I tried to operate the gpioz pin with the gpioset command in user space and found that the level never changed. Can you give some suggestions to solve it.
I have built a device tree file using the details in wiki in CubeMX. I build with my custom machine using Yocto. When I run the built TF-A binary I get the following output on UART4:NOTICE: CPU: STM32MP157CAD Rev.B NOTICE: Model: STMicroelectronics custom STM32CubeMX board WARNING: VDD unknownINFO: Reset reason (0x15): INFO: Power-on Reset (rst_por) INFO: Using USB INFO: Instance 2 INFO: Boot used partition fsbl1 NOTICE: BL2: v2.2-r2.0(debug):v2.2-dirty NOTICE: BL2: Built : 13:36:23, Oct 22 2019 PANIC at PC : 0x2ffd5f27 Exception mode=0x00000016 at: 0x2ffd5f27Any idea what I am doing wrong?Here is my very simple device tree/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */ /* * Copyright (C) STMicroelectronics 2020 - All Rights Reserved * Author: STM32CubeMX code generation for STMicroelectronics. */ /* For more information on Device Tree configuration, please refer to * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration */ /dts-v1/; #
HelloI am working on an IoT project and would like to know which package is suitable for me? I am responsible for customizing the Linux tree, installing packages, set Ethernet, Wi-Fi and the right security protocols from a Hardware point of view.I used to work with other distributions and use the "make menuconfig" and make linux-menuconfig" to choose everything I need.I installed the Starter Package but it is empty and I don't know how to proceed. Can someone tell me if I installed the wrong distribution?Using a VM slows my laptop that's why I am using Ubuntu 18.04 LTS under WSL2Best regards
I have the latest version of ST-Link Utility (ver. 4.6.0) on Windows 10 and the latest firmware (V2.J37.S7), both of which I downloaded yesterday. My co-worker has ST-Link Utility ver. 3.7.0 on Windows 7 and firmware V2.J24.S7 and he has no trouble writing to the device.I'm having several other errors:Blank check almost always fails. When I check the memory location where Blank Check fails, it looks right.Sometimes (maybe 1 in 6 tries) the first file I try to load does load. But the second file NEVER loads. I get this error: Programming error @ 0x0800344C! (the memory address is always different.)Read Out Protection is Disabled and no Flash sectors are protected.I am using Program and Verify with Verify while programming selected.Can you provide any assistance in programming this device? Is it possible to get the older version of ST-Link Utility and the older firmware?
#include <linux/platform_device.h>#include <linux/module.h#include <linux/types.h>MODULE_LICENSE("GPL");MODULE_AUTHOR("Robert W. Oliver II");MODULE_DESCRIPTION("A simple example Linux module.");MODULE_VERSION("0.01");static struct platform_device *pdev;static int __init fake_eth_add(void){ int inst_id = 0; pdev = platform_device_alloc("fake-eth", inst_id); return 0;}static void __exit fake_eth_put(void){}module_init(fake_eth_add);module_exit(fake_eth_put);
I am trying to enable FDCAN on STM32MP157C. I modified Linux Kernel (STM32MP15-Ecosystem-v2.0.0) and U-Boot, following the steps explained in the Developer Package guide. I get these messages, which are suggesting I setup everything correctly.root@stm32mp1:~# dmesg | grep m_can [ 3.032730] m_can_platform 4400e000.can: m_can device registered (irq=51, version=32) [ 44.537911] m_can_platform 4400e000.can can0: bitrate error 0.3% [ 44.542503] m_can_platform 4400e000.can can0: bitrate error 0.3%root@stm32mp1:/sys/kernel/debug/pinctrl/soc:pin-controller@50002000# cat pinconf-pins | grep CAN pin 11 (PA11): alternate 9 (FDCAN1_RX) - push pull - floating - low speed pin 12 (PA12): alternate 9 (FDCAN1_TX) - push pull - floating - low speedThe board seems to pass the internal loopback test as well (https://wiki.st.com/stm32mpu/wiki/How_to_send_or_receive_CAN_data#Hardware_self-test).The problem is that I cannot get anything on the physical ports. What could have gone wrong?
HI,all, env:virtualbox, ubuntu18.04 64bits, 10G memory,500G disk. I tried to build rootfs image from stm32 Yocto prject, followed by wiki(https://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_Package). but I got some error at last like below. I am a newer for YOCTO, what can I do next? any idea? Thanks a lot.error log:ERROR: st-image-resize-initrd-1.0-r0 do_rootfs: The postinstall intercept hook 'update_font_cache' failed, details in /media/kevin/D2/openstlinux-5.4-dunfell-mp1-20-11-12/build-openstlinuxweston-stm32mp1/tmp-glibc/work/stm32mp1-ostl-linux-gnueabi/st-image-resize-initrd/1.0-r0/temp/log.do_rootfsERROR: Logfile of failure stored in: /media/kevin/D2/openstlinux-5.4-dunfell-mp1-20-11-12/build-openstlinuxweston-stm32mp1/tmp-glibc/work/stm32mp1-ostl-linux-gnueabi/st-image-resize-initrd/1.0-r0/temp/log.do_rootfs.11363ERROR: Task (/media/kevin/D2/openstlinux-5.4-dunfell-mp1-20-11-12/layers/meta-st/meta-st-openstlinux/recipes-st/images/st-image-resize-initrd.bb:do_rootfs) failed
I've been using Ecosystem v2.0 without any issues now. We decided to move to v2.1 recently, followed the instructions from https://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_Package to get the latest package. Then, as I did before, followed the instructions from https://wiki.st.com/stm32mpu/index.php/How_to_create_your_own_machine to create the distribution for our custom board. But running bitbake-st-image-weston failed because it could not create project.dtb as the project.dts files were not copied from the meta-st-stm32mp-addons folder to their respective folders in tf-a, u-boot and kernel.Has anything changed in v2.1 with regards to custom device tree file placement?
I Installed the Development on my host machine and builded a Kernel with this tutorial:https://github.com/STMicroelectronics/meta-st-stm32mp/blob/dunfell/recipes-kernel/linux/linux-stm32mp/README.HOW_TO.txtbut afther the reboot my scren keeps beeing black.I updated the kernel because the development tool has a newer kernel and i wanted to make a kernel module so i wanted to update.
Hi everyone,I want to make a LoRa gateway using the STM32MP157C-DK2 and ICC880A-SPI boards. For that, I have to implement SPI communication between the two boards. I already did the hardware connections, but I am not able to enable SPI on the STM32MP157C-DK2.I want to set up SPI5 on the STM32 board (M4 context) and I use CubeMX to get the device tree (DT) files that I need. Then I modify the stm32mp157c-dk2.dts file that is already present in the Distribution package with the files given by CubeMX, before cross-compiling the Linux kernel and updating the kernel image on the board. I have attached the stm32mp157c-dk2.dts file to this post, with all the modifications I made. I also added the line DECPROT(STM32MP1_ETZPC_SPI5_ID, DECPROT_NS_RW, DECPROT_UNLOCK) in &etzpc section within TFA.When I reboot the STM32MP157C-DK2 board, I cannot see anything showing that SPI was correctly implemented (I2C is working and the red LED is on, so the DT is well updated). More, the folder /sys/
STM32MP157-DK2 with Buildroot image.I'm running a Qt app on the A7 core and using QSerial to talk to the M4 core using OpenAMP to talk through ttyRPMSG0. Right now it takes ~10ms to send/receive from Qt to M4. Is there anything I can do to decrease this time to say 1ms?The ttyRPMSG0 port has a baud rate of 38400, but I don't see a way to increase that. Any ideas would be appreciated.
Does GPU support OpenCL, and if so, are there examples?
Hi ,I am using STM32MP157C-DK2 board I just trying to load the flash image in to the SD card. facing issue reconnecting the device. Below i mentioned log file please check it. 10:04:18 : STM32CubeProgrammer API v 2.6.0 10:05:47 : Error: No debug probe detected. 10:06:19 : Error: No debug probe detected. 10:06:34 : USB speed : High Speed (480MBit/s) 10:06:34 : Manuf. ID : 10:06:34 : Product ID : 10:06:34 : SN : 10:06:34 : FW version : 0x0110 10:06:34 : IAP 10:06:35 : UPLOADING ... 10:06:35 : Size : 1024 Bytes 10:06:35 : Address : 0x8000000 10:06:35 : Read progress: 10:06:35 : Error: Data read failed 10:06:47 : Disconnected from device. 10:07:17 : USB speed : High Speed (480MBit/s) 10:07:17 : Manuf. ID : 10:07:17 : Produc
Hi,I'm trying to send and receive data over an I2C port.Working with STM32MP15 ecosystem release v2.0.0 (concrete STM32MP157F-EV1 and openstlinux 5.4 dunfell) and i2c-tools. I want to access I2C2 on MB1262C IO EXPANSION connector CN21.Following this post I have done this steps:root@stm32mp1:~# i2cdetect -l i2c-1 i2c STM32F7 I2C(0x40015000) I2C adapter i2c-2 i2c STM32F7 I2C(0x5c002000) I2C adapter i2c-0 i2c STM32F7 I2C(0x40013000) I2C adapter root@stm32mp1:~# i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 40: -- -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@stm32mp1:~# i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -
I have a new problem about serial communication. When UART sends and receives data quickly, there will be FIFO error.This is my code
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.